在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
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:hive数组如何进行元素反转