gpt4 book ai didi

apache-pig - 如何将带空格的命令行参数传递给 apache pig 脚本?

转载 作者:行者123 更新时间:2023-12-02 02:11:40 25 4
gpt4 key购买 nike

我想编写一个将过滤条件作为命令行参数的 pig 脚本。我想在命令行中输入如下内容:

pig -p "MY_FILTER=field1 == 0 and field2 == 5" myscript.pig

在我的脚本中有一行:

my_filtered_data = filter my_data by $MY_FILTER;

MY_FILTER 没有空格并且我在我的值周围传递引号时,这会按预期工作;因此,如果我在命令行键入 MY_FILTER=\"field1==0\",shell 将传递带有值的引号,而 pig 会执行我想要的扩展。但是,如果我像 MY_FILTER=\"field1 == 0\"

那样提供参数,该参数将无法扩展

我尝试了很多不同的引用技术,甚至尝试直接从 python 的子进程模块运行命令以确保我的 shell 没有做一些奇怪的事情。

最佳答案

您使用哪个版本的 Pig?我使用 0.9.2,以下命令适用于我:

 pig -p "F='field1 == 3 AND field2 == 5'" test.pig

但它不适用于 0.8.1。

关于apache-pig - 如何将带空格的命令行参数传递给 apache pig 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12501537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com