Hive SQL 数组或map拆解函数 explode 详解 您所在的位置:网站首页 hive炸裂函数的参数 Hive SQL 数组或map拆解函数 explode 详解

Hive SQL 数组或map拆解函数 explode 详解

2024-07-06 03:35| 来源: 网络整理| 查看: 265

hive 内置的 explode 函数,它接收一个 array 或者 map 类型的数据作为输入,然后将 array 或 map 里面的元素按照每行的形式输出。一般情况下,其可以配合 LATERAL VIEW 一起使用。

1解析 array 或 map 数据2搭配 lateral view 使用 解析 array 或 map 数据 hive> SELECT EXPLODE(ARRAY('A', 'B', 'C')); OK A B C hive> SELECT EXPLODE(MAP('A', 10, 'B', 20, 'C', 30)); OK A 10 B 20 C 30 搭配 lateral view 使用

LATERAL VIEW 顾名思义就是摊开数据,有如下几点特性:

LATERAL VIEW 用于和 UDTF 函数(如 explode、split)结合来使用。 它通过 UDTF 函数将数据拆分成多行,再将多行结果组合成一个支持别名的虚拟表。 主要解决在 SELECT 使用 UDTF 做查询的过程中查询只能包含单个 UDTF,不能包含其它字段以及多个 UDTF 的情况。

语法如下:

LATERAL VIEW udtf(expression) tableAlias AS columnAlias

示例如下:

SELECT a.dp, a.item FROM ( SELECT dp, ARRAY(GET_JSON_OBJECT(log_info, '$.item_list')) AS item_list FROM xxx.ods_xxx_log WHERE dp = '2021-10-05' ) a LATERAL VIEW EXPLODE(item_list) t1 AS item

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有