2017-03-01 110 views
2

我學習豬,並具有以下語句:PIG if條件

> 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'); 

我得到斯普利特

ERROR org.apache.pig.tools.grunt以下錯誤.GRUNT - ERROR 1200 <線5欄67>語法錯誤,處或附近意外符號 ':'

是否有人ħ ave關於什麼是語法錯誤的建議?

回答

2

在豬拉丁語中,SPLIT無法使用單一條件。 SPLIT旨在將關係分區爲兩個或更多關係。

語法:

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

最少兩個表達式都需要使用SPLIT操作,而你的發言只包含一個與豬預期爲多。

要麼添加額外的IF子句的聲明或使用其FILTER等效。

split_jan = FILTER month_quad by (SUBSTRING(data, 4, 6) == '01');