2016-03-08 77 views
0

任何人都可以讓我知道如何在一個場景中使用Hive最新版本中的正則表達式。我有一列具有不同的值 - 許多行,我想在val數據之後提取數據,如下所示Hive正則表達式

COL1 - >理財;瓦隆:這是儲蓄賬戶

COL2 - >理財; valtwo:不是一般的帳戶

COL3 - >理財; valthree:您的信用卡

COL4 - >理財; valFour:錯誤的編號

當我使用正則表達式

選擇colname的,REGEXP_EXTRACT選擇查詢(colname的,*; VAL:[^ ...,1)從hive_table;

我想要的輸出 輸出: 這是儲蓄賬戶
不是一般的帳戶
信用卡
不正確ACCTNUMBER


我也試過瓦隆| valtwo | valthree | valfour。 ...
但有幾乎幾千條記錄,我不能寫valone | valtwo | valthree | valfour ........................... ......爲每個記錄。

任何人都可以幫忙嗎?

回答

0

我認爲你的正則表達式有問題,請嘗試下面的查詢。

select colname,regexp_extract(colname,'.*;.*:(.*)',1) from table_name;