如何在嵌入式pig脚本中获取命令行参数?

xjreopfe  于 2021-06-24  发布在  Pig
关注(0)|答案(2)|浏览(343)

我正在用python编写一个嵌入式pig脚本,我想传递如下参数:

$ pig myscript.py arg1 arg2

我希望 sys.argv 成为 ['myscript.py', 'arg1', 'arg2'] ,但它是空的。
知道如何将命令行参数传递给嵌入式pig脚本吗?

f3temu5u

f3temu5u1#

正在重新打开此线程。。。基本上,我在脚本中创建了一个环境变量:

$ export file_in=filename; pig -useHCatalog ./POC_Python_Wrapper.py

在剧本中:

import os
file_in = os.getenv('file_in', 'Unknown')
7qhs6swi

7qhs6swi2#

sys.argv 应该包括可执行文件的名称,所以 ['myscript.py', 'arg1', 'arg2'] ,但这似乎是一个未解决的问题,已在最新版本的pig中修复:https://issues.apache.org/jira/browse/pig-2548.
或许可以检查一下您使用的是不是比0.10.0更新的东西。

相关问题