hive数组如何实现元素填充

作者:袖梨 2026-06-09

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

hive数组怎样实现元素填充

  1. 创建一个包含整数数组的表:
CREATE TABLE example_array (id INT,int_array ARRAY<INT>);
  1. 向表中插入数据:
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));
  1. 使用LATERAL VIEWEXPLODE函数将数组展开为行:
SELECT id, int_array[i] as elementFROM example_arrayLATERAL VIEW INLINE(int_array) as element;

这将返回以下结果:

id | element---------1| 11| 21| 32| 42| 5
  1. 如果你想将空数组填充为特定值,可以使用ARRAY_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(用户定义函数)来实现类似的填充功能。

相关文章

精彩推荐