我们如何将shell变量传递给pig param文件。作为示例,我将shell变量定义为DB_NAME。我想将我的pig参数文件定义为
p_db_nm = $ DB_NAME
我尝试过上面的功能不起作用,我确实尝试过echo $ DB_NAME也不起作用。
我知道我可以通过在命令行中使用-param来传递这个但我有很多变量,我想将它放在param文件中,但值将在shell脚本中定义。我在谷歌搜索了很多主题,没有运气!!!
我的问题与http://grokbase.com/t/pig/user/09bdjeeftk/is-it-possible-to-use-an-env-variable-in-parameters-file中发布的内容类似,但我发现没有可行的解决方案。
有人可以帮忙吗?
答案 0 :(得分:0)
您可以使用-param_file选项传递参数文件。
如果参数文件名为" pig.cfg"定义如下,
p_db_nm=$DB_NAME
在shell中,pig命令就是这样,
pig -param_file pig.cfg
最后在你的猪中,你可以在cfg文件中使用KEY命名的变量。 (在这种情况下,$ p_db_nm)