我在amazon emr上用hue作为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');
色调中的清管器参数定义:
这样做:output folder=/bin/date+%y%m%d
这不起作用:output folder=tz=america/new\u york/bin/date+%y%m%d
这两个命令都在bashshell中完美执行。但第二个命令给出以下错误:
2015-06-23 21:43:42901[main]info org.apache.pig.tools.parameters.preprocessorcontext-正在执行命令:tz=america/phoenix/bin/date+%y%m%d 2015-06-23 21:43:42913[main]error org.apache.pig.main-error 2999:意外内部错误。执行shell命令时出错:tz=america/phoenix/bin/date+%y%m%d。命令退出,退出代码为126
来自gnu手册:如果找到一个命令,但它不是可执行的,那么返回状态是126。
如何解决此问题?
配置详细信息:
阿美version:3.7.0
hadoop磁盘tribution:amazon 2.4.0
应用程序lications:hive 0.13.1,Pig0.12.0, Impala 1.2.4,色调
底层shell:bash
用户:hadoop(使用pig和bash时)
如果您需要任何澄清,那么请对这个问题发表意见。我会根据需要更新。
编辑:在引擎盖下,pig通过执行“bash-c exec(command)”并将其分配给变量来计算值,其中(command)是我们在hue中作为变量值的值
1条答案
按热度按时间xwmevbvl1#
如果我这样做了:
例如