在amazon emr上为pig udf加载外部python模块

wh6knrhe  于 2021-06-21  发布在  Pig
关注(0)|答案(1)|浏览(321)

我创建了一个python自定义项来将日期时间转换成不同的时区。该脚本使用pytz,而python(或jython)没有附带pytz。我试过两件事:
引导pig安装自己的jython,并在jython安装中包含pytz。我不能让pig使用新安装的jython,它一直恢复到amazon的jython。
将pythonpath设置为安装了新模块的本地目录
将hadoop\u classpath/pig\u classpath设置为新安装的jython
当我尝试加载udf脚本时,每一个都以“importerror:no module named pytz”结束。如果我删除pytz,脚本的加载就很好了,所以肯定是外部模块给它带来了问题。
编辑:最初把它作为一个评论,但我想我只是把它编辑:
我想尽一切办法让Pig认出另一个jythonjar。这不管用。amazon的jython在这里:/home/hadoop/.versions/pig-0.9.2/lib/pig/jython.jar,可以识别这个sys.path:/home/hadoop/lib/lib。我不知道如何针对这个jar构建外部库。

uinbv5nw

uinbv5nw1#

你能手动破解jython脚本中的sys.path吗?

相关问题