Ошибка выполнения команды Bash в сценарии Pig - PullRequest
0 голосов
/ 29 ноября 2018

Я пытался выполнить следующий код на сценарии 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 ,)`;

Когда я выполняю команду оболочки, она возвращает ожидаемые результаты:

$ 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, она продолжает выдавать следующую ошибку:

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.

...