如何从pig的strsplit函数的结果中访问第一个元素?我的Pig命令如下所示。
A = FOREACH mydata GENERATE STRSPLIT(myfield,'.',2) as myfield
“myfield”的值类似于“john.doe”,因此strsplit应该返回(“john”,“doe”),但我只希望第一个元素(“john”在本例中)作为输出的一部分返回。
如何从pig的strsplit函数的结果中访问第一个元素?我的Pig命令如下所示。
A = FOREACH mydata GENERATE STRSPLIT(myfield,'.',2) as myfield
“myfield”的值类似于“john.doe”,因此strsplit应该返回(“john”,“doe”),但我只希望第一个元素(“john”在本例中)作为输出的一部分返回。
1条答案
按热度按时间lvjbypge1#
基本上
STRSPLIT
始终根据传递的分隔符拆分整个字符串,并且您没有控制权单独筛选同一行中的第一个元素。一种选择是在
STRSPLIT
,第二个参数是基于regex的分隔符,因此不能直接使用“.”作为分隔符,需要使用双反斜杠对其进行转义。在关系中
B
我们只是在投射myfield
,因此所有其他字段都将被丢弃,最后您将得到john
作为输出。