我在amazon emr上用hue作为pig脚本。我使用的是文档中提到的declare和default语句。
我有一些%default和%declare语句,看起来它们没有在hue中进行预处理。因此,尽管参数是在我的脚本中定义的,但是编辑器仍然会在参数配置窗口中弹出。如果将参数留空,则作业将失败并出现错误。
示例脚本
%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\u 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
使用default而不是declare可以看到相同的行为。
如果您需要任何澄清,那么请对这个问题发表意见。我会根据需要更新。
1条答案
按热度按时间jm81lzqq1#
色调不支持使用默认语句%declare。它将通过以下方式固定:https://issues.cloudera.org/browse/hue-2508
当前的临时解决方法是在弹出窗口中输入任何值。