2

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

这是我的猪脚本:

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 脚本解析失败:“

4

1 回答 1

1

猪文档中,它在装饰器和模式下说

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

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

所以试试

@outputSchema('a:int')

作为你的装饰师。

于 2015-06-23T04:37:06.697 回答