Hive

hive数组如何进行元素统计

小樊
85
2024-12-20 17:47:02
栏目: 大数据

在Hive中,可以使用explode函数将数组类型的列拆分成单个元素,然后使用count函数统计每个元素的出现次数

-- 假设有一个名为my_table的表,其中有一个名为my_array的数组类型列
CREATE TABLE my_table (
    id INT,
    my_array ARRAY<STRING>
);

-- 向表中插入一些示例数据
INSERT INTO my_table (id, my_array)
VALUES (1, ARRAY("apple", "banana", "apple")),
       (2, ARRAY("orange", "banana")),
       (3, ARRAY("apple", "grape", "apple", "orange"));

-- 使用explode函数将my_array列拆分成单个元素,并使用count函数统计每个元素的出现次数
SELECT my_array, COUNT(*) as count
FROM my_table
LATERAL VIEW INLINE(my_array) inline_table as element
GROUP BY my_array, element;

这个查询将返回一个结果集,其中包含原始数组列中的每个唯一元素及其在数组中出现的次数。在这个例子中,输出将是:

my_array  count
-----------------
[apple]    3
[banana]   2
[orange]   2
[grape]    1

0
看了该问题的人还看了