hive中split结合explode的嵌套split子查询

Posted 坚朗郭定纯¹⁸⁶⁰¹⁶⁸⁸³²⁹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive中split结合explode的嵌套split子查询相关的知识,希望对你有一定的参考价值。

写法一:用虚表实现
WITH tbl1 as(
select explode(split('G1,消费分期|G2,账单分期|G3,不分期','\\\\|')) as t1
),
tbl2 as (
select split(t1,',') as t2 FROM tbl1
)
select t2[0],t2[1] from tbl2;

 写法二:合并嵌套子查询

                    
select split(t1,',')[0],split(t1,',')[1] as t2
FROM (
select explode(split("G1,消费分期|G2,账单分期|G3,不分期",'\\\\|')) as t1)tmp;

特别注意hive中子查询的表需要加别名,否则容易报如下所示不能识别错误

                               

以上是关于hive中split结合explode的嵌套split子查询的主要内容,如果未能解决你的问题,请参考以下文章

Hive - 在连接表上使用横向视图 explode(split())

Hive函数之explode和inline

hive应用:将一行变成多行

hive函数之~hive当中的lateral view 与 explode

Hive行转列(explode/lateral view)

Hive 行转列LATERAL VIEW explode使用方法