【问题标题】:Hive UDF with Python error code return code 20001Hive UDF 与 Python 错误代码返回代码 20001
【发布时间】:2019-11-25 22:42:22
【问题描述】:

import sys
import datetime
count = 0
try:
        for line in sys.stdin:
                orders= line.split(',')
                order_id = orders[0]
                order_time = orders[1]
                order_status = orders[3]
                order_status = order_status[:-1]
                order_date = order_time.split(" ")[0]
                #print '\t'.join([order_id, str(order_status)])
                if order_status == 'COMPLETE' and order_date[:4] == '2014':
                #print('{0} is {1}'.format(order_id,order_status))
                #print(order_date[:4])
                        count+=1
        print(count)
except:
        print sys.exc_info()
我正在学习如何在 用 python 配置蜂巢 我正在尝试在包含逗号分隔值的配置单元表上执行上述 python 代码 我试过 cat orders.txt| python newworld.py 并且输出完美地计算了值。但是,我无法从蜂巢中获得相同的输出

以下错误代码

[Error 20001]: An error occurred while reading or writing to your custom script. It may have crashed with an error.
        at org.apache.hadoop.hive.ql.exec.ScriptOperator.processOp(ScriptOperator.java:468)
        at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:815)
        at org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:84)
        at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:815)
        at org.apache.hadoop.hive.ql.exec.TableScanOperator.processOp(TableScanOperator.java:98)
        at org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:157)
        at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:497)
        ... 9 more
Caused by: java.io.IOException: Stream closed

【问题讨论】:

    标签: python hive user-defined-functions


    【解决方案1】:

    这绝对是迟到了,希望你已经解决了这个问题,但是对于那些遇到这个问题的人来说:即使原始文件是用逗号分隔的,Hive 也会用制表符分隔它们。因此,如果您将 ',' 替换为 '\t',例如:

    orders= line.split('\t')
    

    假设其余代码在您直接使用 txt 文件调试时运行,它应该可以工作。

    附言不幸的是,我从来没有发现错误代码有帮助

    【讨论】:

      猜你喜欢
      • 2020-08-23
      • 2011-12-04
      • 1970-01-01
      • 2018-07-07
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      • 2014-05-23
      • 2014-07-03
      相关资源
      最近更新 更多