Использование 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;
Другие вопросы по тегам