我正在亚马逊EMR上使用Hue for PIG脚本。我想进行一个shell调用,将特定时区的日期转换为一个变量,我将用它来定义一个输出文件夹路径,用于将输出写入。最终我想使用if else fi
循环来获取一周中的特定日期,因此将在命令的不同位置提及时区。
示例脚本
ts = LOAD 's3://testbucket1/input/testdata-00000.gz' USING PigStorage('\t');
STORE ts INTO 's3://testbucket1/$OUTPUT_FOLDER' USING PigStorage('\t');
Hue中的Pig参数定义:
这两个命令在bash shell中完美执行。但是第二个命令给出了以下错误:
2015-06-23 21:43:42,901 [main] INFO org.apache.pig.tools.parameters.PreprocessorContext - 执行命令:TZ = America / Phoenix / bin / date +%Y%m%d 2015-06-23 21:43:42,913 [main] ERROR org.apache.pig.Main - ERROR 2999:意外的内部错误。执行shell命令时出错:TZ = America / Phoenix / bin / date +%Y%m%d。命令退出,退出代码为126
From the GNU manual:如果找到命令但不可执行,则返回状态为126。
如何解决此问题?
配置详情:
如果您需要任何澄清,请对此问题发表评论。我会根据需要更新它。
答案 0 :(得分:1)
如果我这样做:
date --date='TZ="America/Los_Angeles"' '+%Y%m%d'
20150624
e.g。
%default date_dir `date --date='TZ="America/Los_Angeles"' '+%Y%m%d'`;