如何将shell变量传递给pig param文件

fquxozlt  于 2021-06-24  发布在  Pig
关注(0)|答案(1)|浏览(482)

如何将shell变量传递给pig param文件。作为一个例子,我有一个shell变量定义为db\u name。我想将我的pig参数文件定义为
p\u db\u nm=$db\u名称
我试过像上面这样不工作,我也试过像echo$db\u name不工作。
我知道我可以通过在命令行中使用-param来传递它,但是我有很多变量,我想把它们放在param文件中,但是这些值将在shell脚本中定义。我在google上搜索了很多主题,但没有任何运气!!!
我的问题和上面的问题很相似http://grokbase.com/t/pig/user/09bdjeeftk/is-it-possible-to-use-an-env-variable-in-parameters-file 但我看没有可行的解决方案张贴。
有人能帮忙吗?

vaj7vani

vaj7vani1#

您可以使用–param\u file选项传递参数文件。
如果名为“pig.cfg”的参数文件定义如下,

p_db_nm=$DB_NAME

在shell中,pig命令是这样的,

pig -param_file pig.cfg

最后,在pig中,可以在cfg文件中使用按键命名的does变量(在这种情况下,$p\u db\u nm)

相关问题