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
with tmp_map_data as (select map("k2", "v2", "k1", "v1", "k3", "v3") as m)
selectsize(m), -- 3map_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'), -- truearray_contains(map_keys(m), 'k4') -- false
from tmp_map_data;
3. 说明
Hive提供的内置集合函数, 在做一些集合内统计/查找/分析等场景下非常方便, 熟练使用, 可以极大的简化这类场景的开发.
参考文献:
- Hive UDF > CollectionFunctions