我试图实现一个有条件的foreach生成,其中列数据之一根据输入数据而变化。
例如说我在别名A中有此数据:
dump A;
(George, Films)
(Martin, Books)
如果名称以G开头,我想存储一个Y。从文档中我知道有条件算术运算,但是我找不到执行“以X开头”的方法。我认为应该是这样的,其中#####是缺少的条件。
B = FOREACH A GENERATE (##### ? "Y":"N");
您正在寻找SUBSTRING函数。像这样使用它:
b = foreach a generate $0.., (SUBSTRING($0,0,1)=='G'?'y':'n');
在这里了解更多
https://pig.apache.org/docs/r0.9.1/func.html#substring
它会给你
(George,Films,y)
(Martin,Books,n)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句