hive数组如何实现元素删除

作者:袖梨 2026-06-10

Hive中的数组类型可以通过ARRAYSTRUCT数据类型来表示

hive数组怎样实现元素删除

  1. 使用ARRAYSTRUCT数据类型创建表:
CREATE TABLE example_table (id INT,item_list ARRAY<STRING>,item_struct STRUCT<name STRING, quantity INT>);
  1. 插入数据:
INSERT INTO example_table (id, item_list, item_struct)VALUES (1, ARRAY("apple", "banana", "orange"), STRUCT("apple", 2));
  1. 使用LATERAL VIEWEXPLODE函数将数组转换为行,然后使用FILTER子句删除不需要的元素:
SELECT t.id, itemFROM example_table tLATERAL VIEW INLINE(t.item_list) items AS itemWHERE item != 'banana';

这将返回以下结果:

id | item---------1| apple1| orange

在这个例子中,我们使用LATERAL VIEW INLINE函数将item_list数组转换为行,然后使用FILTER子句删除不需要的元素(“banana”)。

相关文章

精彩推荐