Использование Python UDF с Hive
Я пытаюсь научиться использовать Python UDF с Hive.
У меня есть очень простой UDF Python:
import sys
for line in sys.stdin:
line = line.strip()
print line
Затем я добавляю файл в Hive:
ADD FILE /home/hadoop/test2.py;
Теперь я называю Hive Query:
SELECT TRANSFORM (admission_type_id, description)
USING 'python test2.py'
FROM admission_type;
Это работает, как и ожидалось, в поле не вносятся никакие изменения, и вывод печатается как есть.
Теперь, когда я изменяю UDF, вводя функцию split, я получаю ошибку выполнения. Как мне отладить здесь? и что я делаю не так?
Новый UDF:
import sys
for line in sys.stdin:
line = line.strip()
fields = line.split('\t') # when this line is introduced, I get an execution error
print line
1 ответ
import sys
for line in sys.stdin:
line = line.strip()
field1, field2 = line.split('\t')
print '\t'.join([str(field1), str(field2)])
SELECT TRANSFORM (admission_type_id, description)
USING 'python test2.py' As ( admission_type_id_new, description_new)
FROM admission_type;