我想在python中嵌入一个pig脚本,但是我需要将一些参数传递给python脚本,它们似乎不会填充。
如果我直接调用我的猪脚本,我可以使用:$PIGDIR/bin/pig -f $SCRIPT_DIR/../pig/score_cert_messages.pig -param libDir=DYNAMIC_STRING
并正确绑定libDir。
但是,以同样的方式加载我的python脚本时,我在sys.argv
中没有得到任何内容。通过pig加载python时,-param
值是否可访问(在python代码中),或者我是否必须使用jython手动调用脚本并生成scriptContext
(如果有,任何人都有样本)?
答案 0 :(得分:1)
这是一个已知问题。检查https://issues.apache.org/jira/browse/PIG-2165。
答案 1 :(得分:0)
差不多两年后,如果没有解决方法,我仍然无法做到。基本上,我已经在我的脚本中创建了一个环境变量:
$ export file_in=filename; pig -useHCatalog ./POC_Python_Wrapper.py
并在脚本中:
import os
file_in = os.getenv('file_in', 'Unknown')