hive上使用Python udf ,报stream closed错误

想要从hive上通过Python脚本对数据进行初步清洗,然后取出数据。但是一直报stream Closed错误。因为也没有权限去看那个error log,想请问一下可能会是什么问题。Python脚本已经是改到最简单的形式了,就是做了个strip,然后print line。
 
把那层transform using as剥掉的话运行是正常的。
1.png 2.png 3.png 4.png

李虎翼 - Hive/Hadoop

赞同来自: kapoyegou fish

这里提示的错误是Stream Closed…… 什么叫Stream Closed呢?就是你本来那个Python进程运行地好好的,然后它自己关了。Hive进程没法跟他通信了。 关了的原因看下面有一个提示是143,被appmaster给杀了。 可能的其中一个原因是说,python也是占yarn container的内存的,如果超了,进程就会杀掉。 可以尝试通过参数加大container内存。还有就是python也有一些捕获信号的方法,可以把错误打在stderr,在页面上就看得到错误信息。

kapoyegou

赞同来自:

谢谢老师,我到时候去看看stderr,不过如果真是内存的问题,我估计我也是没权限加内存的。这个的实现方式是会先把所有满足条件的结果查出来然后用udf去处理吗?如果是内存的问题,那我应该是要从如何优化查询语句入手了?

桦渐2019

赞同来自:

问题解决了吗楼主,2020年的我遇到了同样的问题,困扰许久,求帮助

要回复问题请先登录注册