对 Pig Latin 命令参数执行 SUBSTRING

Perform SUBSTRING on a Pig Latin Command Parameter

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

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

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

Apache Pig 版本 0.12.0-cdh5.3.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`;