lateral view posexplode(split(name,',')) t as s_name_index,s_name -- 同时对两列都是用posexplode select id,name,s_id_index,s_id,s_name_index,s_name from temp lateral view posexplode(split(id,',')) t as s_id_index,s_id lateral view posexplode(split(name,',')) t as s_name_...
select * from col2row2; select explode(split(col3,',')) from col2row2; --SQL最终实现 select col1, col2, lv.col3 as col3 from col2row2 lateral view explode(split(col3, ',')) lv as col3; 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ...
lateral view explode(split表达式)tableName as columeName 1. 2. tableName表示虚拟表的名称;columeName表示虚拟表的虚拟字段名称。 如果分列后有一个列,则写一个即可;如果分裂之后有多个列,按照列的顺序在括号中声明所有虚拟列名,以逗号隔开。 该函数在SQL语言中位于from之后,where之前。 {1}explode,posexplode e...
tableName 表示虚拟表的名称。 columnName 表示虚拟表的虚拟字段名称,如果分裂之后有一个列,则写一个即可;如果分裂之后有多个列,按照列的顺序在括号中声明所有虚拟列名,以逗号隔开。 Hive SQL如下: SELECTmovie,actors_newFROMrow_column_conversionLateralViewexplode(split(actors,","))tmpTableasactors_new-- split...
一、列转行(对某列拆分,形成新列) 使用函数:lateral view explode(split(column, ',')) num eg: 如表:t_row_to_column_tmp 数据如下,对tag列进行拆分 SQL代码: select id,tag,tag_new from t_row_to_column_tmp lateral view explode(split(tag, ',')) num as tag_new ...
split Split(str, separator):将字符串按照后面的分隔符切割,转换成字符array。 explode EXPLODE(col):将hive一列中复杂的array或者map结构拆分成多行。 lateral view 用法:LATERAL VIEW udtf(expression) tableAlias AS columnAlias 解释:lateral view用于和split, explode等UDTF一起使用,它能够将一行数据拆成多行数...
正常来讲是一条正常的sql,目的是将需要分割成多行的数据进行整合到一行当中去,然后使用explode处理,split(ct_str,'#')的目的是将ct_str按照#分割成多行,explode这个UDTF可以返回0行或者大于1行的记录,所以说explode和split往往结合起来使用,然后使用lateral view将多行结果组合成一个支持别名的虚拟表t2和列detail...
使用方法为 lateral view explode(split(["1","2","3","4"] , ',')) tmptable as new_id ; 其中new_id元素为转换为行后的字段名。 把以上综合起来就完成了列转行 一般sql为: select name,new_id from table_name lateral view explode(split(id, ',')) table1 as new_id ; 最后...
4. 行专列、列转行 行转列: feature_list A,B,C 变成: feature A B C 代码语言:javascript 复制 SELECTfeatureFROM(select feature_list from table)tmp1LATERALVIEWexplode(split(feature_list,","))tmp2ASfeature 列转行: 将上面操作反过来,注意这里有set和list两种用法,set会去重,并且使用默认排序(不保序...
列转行 一、实现内容: 将用户的多个爱好拆分成单行展示 二、实现步骤: 先用split函数将hobby根据“,”分割成数组 lateral view结合explode函数进行拆分后的聚合 三、执行sql: 代码语言:javascript 复制 SELECTname,hobby1FROMsyc_ads.test_transform lateralVIEWexplode(split(hobby,","))test_transformAShobby1; ...