在Hive中,可以使用ARRAY和STRUCT数据类型来创建数组和结构体

CREATE TABLE example_array (id INT,int_array ARRAY<INT>);INSERT INTO example_array (id, int_array) VALUES (1, ARRAY(1, 2, 3));INSERT INTO example_array (id, int_array) VALUES (2, ARRAY(4, 5));LATERAL VIEW和EXPLODE函数将数组展开为行:SELECT id, int_array[i] as elementFROM example_arrayLATERAL VIEW INLINE(int_array) as element;这将返回以下结果:
id | element---------1| 11| 21| 32| 42| 5ARRAY_FILL函数。例如,将空数组填充为0:SELECT id, ARRAY_FILL(0, SIZE(int_array), 0) as filled_arrayFROM example_array;这将返回以下结果:
id | filled_array---------1| [0, 0, 0]2| [0, 0]请注意,ARRAY_FILL函数在Hive 2.3及更高版本中可用。如果你使用的是较旧版本的Hive,可以考虑使用自定义的UDF(用户定义函数)来实现类似的填充功能。