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 に答える