HIVE:-
我有一列changeContext ==>“A345 | Fq * A | 2017-05-01 | 2017-05-01”(字符串),我需要在其中提取A345作为另一列。有什么建议吗?附言我已经尝试过regexp_extract(遇到顶点故障),因此任何其他解决方案都将是完美的。
最佳答案
with t as (select "A345|Fq*A|2017-05-01|2017-05-01" as changeContext)
select substring_index(changeContext,'|',1) option_1
,split(changeContext,'\\|')[0] option_2
,substr(changeContext,1,instr(changeContext,'|')-1) option_3
,regexp_extract(changeContext,'[^|]*',0) option_4
,regexp_replace(changeContext,'\\|.*','') option_5
from t
+----------+----------+----------+----------+----------+
| option_1 | option_2 | option_3 | option_4 | option_5 |
+----------+----------+----------+----------+----------+
| A345 | A345 | A345 | A345 | A345 |
+----------+----------+----------+----------+----------+
关于hadoop - HIVE分割线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44457965/