我一直试图在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下运行。