Hive 配置单元拆分函数获取元素数
我想知道Hive是否有从字符串中获取元素数量的选项,例如Hive 配置单元拆分函数获取元素数,hive,hiveql,Hive,Hiveql,我想知道Hive是否有从字符串中获取元素数量的选项,例如david.Udert。我尝试了这个拆分(键入“\\”)[2][3] 这个拆分(键入“\\”)[2:3]不起作用, 有没有办法这样做来把这两个词组合在一起 数组索引以0开始 with t as (select 'Now.I.heard.you.know.that.secret.chord' as mycol) select split(t.mycol,'\\.') as arr ,split(t.mycol,'\\.')[
david.Udert
。我尝试了这个拆分(键入“\\”)[2][3]
这个
拆分(键入“\\”)[2:3]
不起作用,
有没有办法这样做来把这两个词组合在一起 - 数组索引以
0开始
with t as (select 'Now.I.heard.you.know.that.secret.chord' as mycol) select split(t.mycol,'\\.') as arr ,split(t.mycol,'\\.')[0] as arr_1st_element ,split(t.mycol,'\\.')[1] as arr_2nd_element ,split(t.mycol,'\\.')[2] as arr_3nd_element from t ;
- 至少目前不支持阵列切片。如果要切片,请在分割之前进行
with t as (select 'Now.I.heard.you.know.that.secret.chord' as mycol) select split(substring_index(substring_index(t.mycol,'.',7),'.',-3),'\\.') as slice_option_1 ,split(regexp_extract(t.mycol,'(.*?\\.){4}((\\.?[^.]*){0,3})',2),'\\.') as slice_option_2 from t ;
with t as (select 'Now.I.heard.you.know.that.secret.chord' as mycol)
select split(substring_index(substring_index(t.mycol,'.',7),'.',-3),'\\.') as slice_option_1
,split(regexp_extract(t.mycol,'(.*?\\.){4}((\\.?[^.]*){0,3})',2),'\\.') as slice_option_2
from t
;
+--------------------------+--------------------------+
| slice_option_1 | slice_option_2 |
+--------------------------+--------------------------+
| ["know","that","secret"] | ["know","that","secret"] |
+--------------------------+--------------------------+