首页 > 解决方案 > 在 Pig 脚本中执行 Bash 命令时出错

问题描述

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

标签: bashunixapache-pig

解决方案


推荐阅读