我有一个作为oozie工作流程的一部分传递命令参数的pig脚本,我想创建一个新变量作为传递参数的子字符串。 例如:
%declare VAR1 SUBSTRING($INPUT, 0, 5);
错误通常是; ParseException:在第5行第37列遇到“”0,“”。 期待: < NEWLINE> ...
Apache Pig版本0.12.0-cdh5.3.0
答案 0 :(得分:0)
一种可行的方法。值得考虑
猪脚本:
%declare REQUIRED `echo ABCDE | cut -c1-3`;
A = LOAD 'a.csv' USING PigStorage(',') AS (value:chararray);
B = FILTER A by value == '$REQUIRED';
DUMP B;
输入:a.csv:
ABC
XYZ
输出:DUMP B:
(ABC)
在声明语句中代替ABCDE,我们可以指定$ INPUT。
%declare REQUIRED `echo $INPUT | cut -c1-3`;