Hive正则表达式

时间:2016-03-08 03:42:49

标签: regex hadoop plsql hive

任何人都可以让我知道如何在一个场景中使用Hive最新版本中的正则表达式。我有一个列具有不同的值 - 很多行,我想在val数据之后提取数据,如下所示

col1 - >钱; valone:这是储蓄账户

col2 - >钱; valtwo:不是一般帐户

col3 - >金钱; valthree:您的信用卡

col4 - >钱; valFour:错误的acctnumber

当我使用正则表达式

选择查询时

从hive_table中选择colname,regexp_extract(colname,*。; val?:[^ ...,1);

我希望输出为 输出: 这是储蓄账户
不是一般帐户
你的信用卡
错误的acctnumber

我也尝试了valone | valtwo | valthree | valfour ....
但是有几千条记录我无法写出valone | valtwo | valthree | valfour ................................ 。对于每条记录。

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我认为你的regexp存在问题。请尝试以下查询。

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