gpt4 book ai didi

python - 我在使用 Hive 转换功能时遇到错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:02:28 24 4
gpt4 key购买 nike

java.lang.RuntimeException:关闭运算符时 Hive 运行时错误
在 org.apache.hadoop.hive.ql.exec.ExecMapper.close(ExecMapper.java:226)
在 org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57)
在 org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436)
在 org.apache.hadoop.mapred.MapTask.run(MapTask.java:372)
在 org.apache.hadoop.mapred.Child$4.run(Child.java:255)
在 java.security.AccessController.doPrivileged( native 方法)
在 javax.security.auth.Subject.doAs(Subject.java:396)
在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1136)
在 org.apache.hadoop.mapred.Child.main(Child.java:249)
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: [Error 20003]: 尝试关闭运行自定义脚本的 Operator 时发生错误。
在 org.apache.hadoop.hive.ql.exec.ScriptOperator.close(ScriptOperator.java:486)
在 org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
在 org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
在 org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:567)
在 org.apache.hadoop.hive.ql.exec.ExecMapper.close(ExecMapper.java:193)
... 还有 8 个
HQL脚本如下:

SELECT
TRANSFORM (userid, movieid, rating)
USING 'python /home/daxingyu930/test_data_mapper2.py'
AS userid, movieid, rating
;

python脚本很简单,使用\t进行分行。

我已经使用以下 shell 脚本在 Linux 中测试了 python 脚本:

cat test_data/u_data.txt | python test_data_mapper2.py

请给我一些关于这个问题的想法,它让我发疯,让我无法休眠。非常感谢。

最佳答案

在使用自定义脚本之前,您应该将脚本添加到分布式缓存中。

例如。

add file  /home/daxingyu930/test_data_mapper2.py;

SELECT
TRANSFORM (userid, movieid, rating)
USING 'python test_data_mapper2.py'
AS userid, movieid, rating
;

关于python - 我在使用 Hive 转换功能时遇到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15106127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com