在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 countFROM my_tableLATERAL VIEW INLINE(my_array) inline_table as elementGROUP BY my_array, element;这个查询将返回一个结果集,其中包含原始数组列中的每个唯一元素及其在数组中出现的次数。在这个例子中,输出将是:
my_arraycount-----------------[apple]3[banana] 2[orange] 2[grape]1