任何人都可以让我知道如何在一个场景中使用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 ................................ 。对于每条记录。
任何人都可以帮忙吗?
答案 0 :(得分:0)
我认为你的regexp存在问题。请尝试以下查询。
select colname,regexp_extract(colname,'.*;.*:(.*)',1) from table_name;