如何从字符串中查找子字符串?

时间:2016-02-04 14:28:04

标签: split apache-pig

让我们说我的字符串就像这样的“20136 asjd”。我只想要第一部分 - “20136” - 我希望将此字符串用作group by以进一步处理。我如何在Pig中实现这一目标?

我正在尝试这个approch:

A = load 'file.txt';
B = group A by strsplit(mystring,' ');

但我只想要那个字符串的第一部分。

1 个答案:

答案 0 :(得分:0)

确定。 STRSPLIT生成元组。要将该元组转换为原子,您需要应用FLATTEN。 只需将flatten应用于STRSPLIT函数,然后执行第一部分。

输入:

  (20136 asjd)

代码:

 A = load 'file.txt' USING PigStorage() as (mystring:chararray); 
 B = FOREACH A GENERATE FLATTEN(STRSPLIT(mystring,'')) as(a1,a2);
 C = GROUP B BY a1:

然后你可以做任何你想做的事情......

只需探索有关STRSPLIT和FLATTEN组合的更多内容,您将获得更多...

希望这会有所帮助!!