在Pig脚本中执行Bash命令时出错

时间:2018-11-29 19:15:38

标签: bash unix apache-pig

我一直试图在Pig脚本上执行以下代码:

%declare OLD_YEARS `echo $(for i in $(seq 0 3); do date -d "2018-11-19 ${i} years ago" +%Y; done | awk '$1 <= 2017'| paste -s -d ,)`;

当我执行shell命令时,它会按预期返回结果:

$ echo $(for i in $(seq 0 3); do date -d "2018-11-19 ${i} years ago" +%Y; done | awk '$1 <= 2017'| paste -s -d ,)
2017,2016,2015

但是当我在Grunt shell上执行此操作时,它会继续返回以下错误:

grunt> %declare OLD_YEARS `echo $(for i in $(seq 0 3); do date -d "2018-11-19 ${i} years ago" +%Y; done | awk '$1 <= 2017'| paste -s -d ,)`;
2018-11-29 19:10:53,904 [main] ERROR org.apache.pig.impl.PigContext - Undefined parameter : i

有人可以对此有所启发吗?

谢谢。

**编辑**

只需添加一下我的Pig版本是0.12.0,它就可以在CDH 5.14.2下运行。

0 个答案:

没有答案