在Pig Latin Command参数

时间:2015-06-05 03:48:25

标签: hadoop apache-pig

我有一个作为oozie工作流程的一部分传递命令参数的pig脚本,我想创建一个新变量作为传递参数的子字符串。 例如:

%declare VAR1 SUBSTRING($INPUT, 0, 5);

错误通常是; ParseException:在第5行第37列遇到“”0,“”。   期待:   < NEWLINE> ...

Apache Pig版本0.12.0-cdh5.3.0

1 个答案:

答案 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`;