我在亚马逊EMR上使用Hue进行PIG脚本。 I am using the declare and default statements as mentioned in the documentation.
我有一些%default和%declare语句,它看起来像是 没有在顺化进行预处理。因此,尽管定义了参数 在我的脚本中,编辑器不断弹出参数配置窗口。如果我将参数留空,则作业将失败并显示错误。
示例脚本
%declare OUTPUT_FOLDER 'testingOutput01';
ts = LOAD 's3://testbucket1/input/testdata-00000.gz' USING PigStorage('\t');
STORE ts INTO 's3://testbucket1/$OUTPUT_FOLDER' USING PigStorage('\t');
执行时,会显示弹出窗口,询问OUTPUT_FOLDER的值。如果我将其留空,则会失败,并显示以下错误:
2015-06-23 20:15:54,908 [main] ERROR org.apache.pig.Main - ERROR 2997:
Encountered IOException. org.apache.pig.tools.parameters.ParseException:
Encountered "<EOF>" at line 1, column 12.
Was expecting one of:
<IDENTIFIER> ...
<OTHER> ...
<LITERAL> ...
<SHELLCMD> ...
这是预期的行为吗?这是一个已知问题还是我错过了什么?
配置详情:
AMI version:3.7.0
Hadoop distribution:Amazon 2.4.0
Applications:Hive 0.13.1, Pig 0.12.0, Impala 1.2.4, Hue
默认情况下会出现相同的行为,而不是声明。
如果您需要任何澄清,请对此问题发表评论。我会根据需要更新它。
答案 0 :(得分:1)
Hue不支持带有默认语句的%声明。它将通过以下方式修复:https://issues.cloudera.org/browse/HUE-2508
当前的临时解决方法是在弹出窗口中放置任何值。