2013-10-24 64 views
0

如果在其他地方有答案,我很抱歉。Hive發現最後一次發生

我有一個存儲在Hive字段中的字符串,它可以有0到n次出現的'&',後面跟着每次出現的文本。

在Hive中,我希望找到最終發生並在發生後抓取所有文本。

使用...

split(field1,'[&]')[n] 

...我可以抓住的第n個出現時,但我不能預測最終還是倒數。

我能夠得到以下工作:

reverse(split(reverse(field1),'[&]')[0]) 

但是,使用三個功能好像很多不必要的開銷。我知道你可以在regexp_extract()中使用正則表達式,但我被正則表達式困惑。

regexp_extract()會更快,這將如何完成?

回答

0
[^&]*$ 

捕捉不在&直到字符串末尾的所有字符$