PIG UDF 错误 - 可以使用导入解决

Posted

技术标签:

【中文标题】PIG UDF 错误 - 可以使用导入解决【英文标题】:PIG UDF error - Could resolve using imports 【发布时间】:2015-06-23 00:17:16 【问题描述】:

您好,我在运行猪脚本时遇到问题。

这是我的猪脚本:

REGISTER 'python_udf.py' USING jython AS myfuncs;
dataframe = LOAD 'udftest.csv' using PigStorage(',') AS (x:int);
result1 = foreach dataframe generate myfuncs.testudf(x);
dump result1;

这是我的python脚本:

@schemaFunction("a:int")
def testudf(test):
a = test - 1
return a

我得到的错误是:

“解析时出错。无法使用导入解析 myfuncs.testudf:[, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.] 解析失败:Pig 脚本解析失败:"

【问题讨论】:

【参考方案1】:

在pig documentation 中,它在 Decorators and Schemas

下表示

schemaFunction - 定义委托函数并且未注册到 Pig。

outputSchema - 以 Pig 理解并能够解析的格式为脚本 UDF 定义模式

那就试试吧

@outputSchema('a:int')

作为你的装饰者。

【讨论】:

以上是关于PIG UDF 错误 - 可以使用导入解决的主要内容,如果未能解决你的问题,请参考以下文章

在 pig 中使用 UDF 时出现错误 1070

Pig的Python UDF:数据类型转换错误

用于 PIG 捐赠错误的 Python UDF

在 Pig Latin 中加载 UDF 时发生 ClassCastException 错误

JAVA 错误 1070 中的 PIG UDF

Pig 脚本无法注册 UDF