【发布时间】:2017-02-18 15:59:22
【问题描述】:
我正在从 csv 文件中读取数据,并在对这些数据进行分组后进行计数操作。有什么方法可以将数据存储到一个文件夹名称 bad 如果计数为 0 并且如果计数 > 0 则为 good 。我尝试使用以下代码,但没有发生。
CODE :
STORE countVal INTO '/user/cloudera/good' IF countVal > 0 ;
【问题讨论】:
标签: apache-pig
我正在从 csv 文件中读取数据,并在对这些数据进行分组后进行计数操作。有什么方法可以将数据存储到一个文件夹名称 bad 如果计数为 0 并且如果计数 > 0 则为 good 。我尝试使用以下代码,但没有发生。
CODE :
STORE countVal INTO '/user/cloudera/good' IF countVal > 0 ;
【问题讨论】:
标签: apache-pig
使用函数 SPLIT。参考:
https://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#SPLIT
SPLIT A INTO X IF f1<7, Y IF f2==5, Z IF (f3<6 OR f3>6);
【讨论】:
有几种方法:
1)使用 split 函数根据条件进行拆分。
如果count>0,则将数据拆分为good if (count==0);
2) 使用 FOREACH 循环,使用 BinCond 运算符根据条件分离数据。
X = FOREACH A GENERATE,数据,(count>0?"good":"bad");
【讨论】: