2015-08-28 2 views
0

Я пишу очень простой Python, и вот мой код UDF, код свиньи и сообщение об ошибке, любые идеи, что не так? Благодарю.Простой вопрос UDF Python для Hadoop pig

UDF (test.py),

@outputSchema("cookie:chararray") 
def getSimple(): 
    return 'Hello' 

Pig код,

register test.py using jython as TestSimple; 
a = TestSimple.getSimple() as word; 

Сообщение об ошибке,

[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <line 1, column 0> Syntax error, unexpected symbol at or near 'a' 

спасибо заранее, Лин

+1

это недопустимый синтаксис 'Pig'. – gobrewers14

ответ

2

Вам нужно ЗАГРУЗИТЬ некоторые данных, чем обрабатывать его с помощью UDF. Как: данные нагрузки:

A = LOAD 'input' USING PigStorage('\t','-schema'); 

обрабатывать ваши данные с UDF, скажем, у вас есть поле идентификатора в вашем входе:

B = FOREACH A GENERATE TestSimple.getSimple(id) as word; 

И, конечно, вы должны зарегистрировать UDF как вы сделали это правильно.

+1

Спасибо, kecso! :) –

Смежные вопросы