Я пытаюсь использовать python udf, но он бросает ниже ошибки. Я использую CDH5.2Ошибка при использовании python udf в Pig
cat /home/spanda20/pig_data/panda1.py
def get_length(data):
return len(data)
REGISTER '/home/spanda20/pig_data/panda1.py' USING jython as my_udf;
grunt> A = LOAD 'hdfs://itsusmpl00509.jnj.com:8020/user/spanda20/pig_1.dat' USING PigStorage(',') AS (name:chararray, id:int);
grunt> B = FOREACH A GENERATE name, id,my_udf.get_length(name) as name_len;
2015-01-25 20: 47: 15243 [главная] ОШИБКА org.apache.pig.tools.grunt.Grunt - ОШИБКА 1070: Не удалось разрешить my_udf .get_length с помощью импорта: [, java.lang, org.apache.pig.builtin, org.apache.pig.impl.builtin...] подробности на логфайл: /home/spanda20/pig_1422230028021.log
Что такое контент в доме/spanda20/pig_1422230028021.log –
Можете ли вы разместить соответствующие части этого файла журнала? Я смог успешно запустить ваш UDF на HDP 2.2 (Pig 0.14, Hadoop 2.6) с минимальным набором тестов. – rchang
ОШИБКА 1070: Не удалось разрешить my_udf.get_length с помощью импорта: [, java.lang., Org.apache.pig.builtin., Org.apache.pig.impl.builtin.] Не удалось выполнить синтаксический анализ: сценарий свиньи не удался parse: <строка 14, столбец 32> Не удалось создать логический план. Вложенное исключение: org.apache.pig.backend.executionengine.ExecException: ERROR 1070: Не удалось разрешить my_udf.get_length с использованием импорта: [, java.lang., Org.apache.pig.builtin., Org.apache.pig.impl .builtin.] – user3858193