Hive内置集合函数-size,map_keys,map_values,sort_array,array_contains

1. Hive内置Collection Functions

以下函数为Hive是提供的内置集合函数:

返回类型 函数(签名) 函数说明
int size(Map<K.V>) Returns the number of elements in the map type.
int size(Array) Returns the number of elements in the array type.
array map_keys(Map<K.V>) Returns an unordered array containing the keys of the input map.
array map_values(Map<K.V>) Returns an unordered array containing the values of the input map.
boolean array_contains(Array, value) Returns TRUE if the array contains value.
array sort_array(Array) Sorts the input array in ascending order according to the natural ordering of the array elements and returns it (as of version 0.9.0).

2. 测试Collection Functions

sql 复制代码
with tmp_map_data as (
    select map(
                   "k2", "v2", 
                   "k1", "v1", 
                   "k3", "v3"
           ) as m
    )
select
    size(m),								-- 3
    map_keys(m),							-- ["k1","k2","k3"]
    map_values(m),							-- ["v2","v1","v3"]
    sort_array(map_keys(m)),				-- ["k1","k2","k3"]
    array_contains(map_keys(m), 'k3'),		-- true
    array_contains(map_keys(m), 'k4')		-- false
from tmp_map_data;

3. 说明

Hive提供的内置集合函数, 在做一些集合内统计/查找/分析等场景下非常方便, 熟练使用, 可以极大的简化这类场景的开发.

参考文献:

相关推荐
红队it5 小时前
【Spark+Hadoop】基于Spark大数据小说数据分析推荐系统(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅
大数据·人工智能·hive·分布式·spark
chimchim661 天前
hive开窗函数边界值ROWS BETWEEN 和 RANGE BETWEEN区别
数据仓库·hive·hadoop
千叶真尹1 天前
通过Hive小文件合并(CombineHiveInputFormat)减少80%的Map任务数
数据仓库·hive·hadoop
Dolphin_Home1 天前
搭建 Hadoop 3.3.6 伪分布式
大数据·hadoop·分布式
Yvonne9781 天前
Hadoop HDFS基准测试
大数据·hadoop·hdfs
Yvonne9781 天前
Hadoop初体验
大数据·hadoop
南宫文凯1 天前
Hadoop-HA(高可用)机制
大数据·hadoop·分布式·hadoop-ha
先睡1 天前
Spring MVC配置文件
数据仓库·hive·hadoop
yuanbenshidiaos2 天前
【数据挖掘】数据仓库
数据仓库·笔记·数据挖掘
桃林春风一杯酒2 天前
HADOOP_HOME and hadoop.home.dir are unset.
大数据·hadoop·分布式