hive 调用python 写的udf 报错

2025-04-27 20:50:07
推荐回答(2个)
回答1:

你把print写在try里面当然会少数据。你应该try访问fields数组并更新fields[2]的值。另一方面,从功能点上来说,使用SQL函数nvl或coalesce就能实现,没必要写个UDF来实现,你这样做增加额外的IO消耗和工作量。如果一定要写UDF,建议少用print,改用标准输出实现:sys.stdout.write()。

回答2:

我也遇到这个问题了,是python脚本的问题,不管hive表的分隔符是什么,在python脚本里面的分隔符都是'\t',换成'\t'试一试。