如果有条件的话

时间:2017-03-01 17:11:43

标签: substring apache-pig

我正在学习PIG,并有以下声明:

> jan = LOAD 'hdfs:/201001hourlyx.txt USING PigStorage(',');
> feb = LOAD 'hdfs:/201002hourlyx.txt USING PigStorage(',');
> month_quad = UNION jan,feb;
> STORE month_quad INTO 'hdfs:/month_quad';
> SPLIT month_quad INTO split_jan IF (SUBSTRING(data, 4, 6) == '01');

我在SPLIT上收到以下错误

  

错误org.apache.pig.tools.grunt.GRUNT - ERROR 1200&lt; <第5栏第67栏>语法错误,意外符号在&#39;:&#39;

有人对什么是语法错误有建议吗?

1 个答案:

答案 0 :(得分:2)

在猪拉丁语中,SPLIT无法使用单一条件。 SPLIT旨在将关系划分为两个或更多关系。

<强>语法:

SPLIT alias INTO alias IF expression, alias IF expression [, alias IF expression …];

使用SPLIT运算符需要至少两个表达式,而您的语句只包含一个,Pig期望更多。

在语句中添加额外的IF子句或使用其FILTER等效语句。

split_jan = FILTER month_quad by (SUBSTRING(data, 4, 6) == '01');
相关问题