我正在尝试学习将 Python UDF 与 Hive 一起使用。
我在这里有一个非常基本的 python UDF:
import sys
for line in sys.stdin:
line = line.strip()
print line
然后我在 Hive 中添加文件:
ADD FILE /home/hadoop/test2.py;
现在我调用 Hive 查询:
SELECT TRANSFORM (admission_type_id, description)
USING 'python test2.py'
FROM admission_type;
这按预期工作,没有对字段进行任何更改,并且输出按原样打印。
现在,当我通过引入 split 函数来修改 UDF 时,我得到一个执行错误。我如何在这里调试?我做错了什么?
新的 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