bash - 在 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 下运行。
解决方案
推荐阅读
- eclipselink - 如何使用 EclipseLink JPA 配置 HikariCP
- image - 如何获取 RGB-D 图像的顶层(用于位置检测)
- mysql - SQL获取计数分组的平均值
- java - Quarkus Consul Config:如何从 Consul Agent 注入 application.yaml 文件?
- pickle - 加载使用 MethodType 更改了方法的对象时出现属性错误
- javascript - 悬停以暂停选取框 Jquery
- javascript - 我需要在使用反应导航 5.x 加载之前执行条件检查并重定向到不同的屏幕
- mysql - Sakila 数据库上的广告活动
- xml - groovy.xml.XmlParser 解析唯一的、冒号分隔的属性时出现问题
- arrays - 删除在角度的同一行中选择另一个复选框时创建的对象