【发布时间】:2017-12-19 01:52:55
【问题描述】:
我有一串以:: 分隔的单词。如何使用Hive UDF regexp_extract() 从字符串中提取单词?
【问题讨论】:
-
invoketheshells 回答有什么问题吗?
我有一串以:: 分隔的单词。如何使用Hive UDF regexp_extract() 从字符串中提取单词?
【问题讨论】:
regexp_extract('2foa1fa::12hjk','^(\\w.*)\\:{2}(\\w.*)$',1) as word1
输出:2foa1fa
regexp_extract('2foa1fa::12hjk','^(\\w.*)\\:{2}(\\w.*)$',2) as word2
输出:12hjk
现在只需将您的列名放在字符串文字的位置,您就可以开始了。
您还可以使用拆分函数创建一个数组,然后也可以通过数组位置进行查询。看起来像这样:
select my_array[2] from
(select split('2foa1fa::12hjk','\\::') as my_array from my_table) b;
输出:12hjk
【讨论】: