Hadoop ApachePig条件foreach生成

Hadoop ApachePig条件foreach生成,hadoop,apache-pig,cloudera,Hadoop,Apache Pig,Cloudera,我试图实现一个条件foreach生成,其中一列数据根据输入数据而变化 例如,假设我在别名A中有此数据: dump A; (George, Films) (Martin, Books) 如果名称以G开头,我想存储一个Y。从中我知道有一个条件算术运算,但我找不到执行“以X开头”的方法。我想应该是这样的,缺失的条件在哪里 B = FOREACH A GENERATE (##### ? "Y":"N"); 您可以在生成中应用自定义项: 其中,MyUdf是您编写的用于执行所需逻辑的函数。我不知道在没有

我试图实现一个条件foreach生成,其中一列数据根据输入数据而变化

例如,假设我在别名A中有此数据:

dump A;
(George, Films)
(Martin, Books)
如果名称以G开头,我想存储一个Y。从中我知道有一个条件算术运算,但我找不到执行“以X开头”的方法。我想应该是这样的,缺失的条件在哪里

B = FOREACH A GENERATE (##### ? "Y":"N");
您可以在生成中应用自定义项:


其中,MyUdf是您编写的用于执行所需逻辑的函数。我不知道在没有UDF的情况下如何实现这一点。

您正在寻找子字符串函数。像这样使用它:

b = foreach a generate $0.., (SUBSTRING($0,0,1)=='G'?'y':'n');
在这里阅读更多关于它的信息

它会给你

(George,Films,y)
(Martin,Books,n)
(George,Films,y)
(Martin,Books,n)