配置单元python udf

nhaq1z21  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(432)

我正在使用这个python udf脚本:

  1. import sys
  2. import collections
  3. import datetime
  4. import re
  5. try:
  6. for line in sys.stdin:
  7. line=line.strip()
  8. number,sd=line.split('\t')
  9. sd=sd.lower()
  10. sd=sd.split(' ')
  11. new_sd_list=collections.OrderedDict(collections.Counter(sd))
  12. new_sd=' '.join(new_sd_list)
  13. print('\t'.join([str(number),str(new_sd])))
  14. except:
  15. print(sys.exc_info())

在putty中执行以下命令时。

  1. SELECT TRANSFORM(number,shortdescription) USING 'python name.py' \
  2. AS (number,shortdescription) FROM table;

我得到这个错误:
原因:org.apache.hadoop.hive.ql.metadata.hiveexception:处理行{“number”:“00548”,“shortdescription”:“印度优化器中主数据不一致检查”时发生配置单元运行时错误。}
失败:执行错误,从org.apache.hadoop.hive.ql.exec.mr.mapredtask返回代码2 mapreduce作业已启动:stage-stage-1:map:4 hdfs读取:0 hdfs写入:0失败花费的mapreduce cpu总时间:0毫秒

csbfibhn

csbfibhn1#

  1. import sys
  2. import collections
  3. import datetime
  4. import re
  5. try:
  6. for line in sys.stdin:
  7. line=line.strip()
  8. number,sd=line.split('\t')
  9. sd=sd.lower()
  10. sd=sd.split(' ')
  11. new_sd_list=collections.OrderedDict(collections.Counter(sd))
  12. new_sd=' '.join(new_sd_list)
  13. print('\t'.join([str(number),str(new_sd)])) #syntax error
  14. except:
  15. print(sys.exc_info())

相关问题