Hive中的數組類型可以通過ARRAY
和STRUCT
數據類型來表示
ARRAY
和STRUCT
數據類型創建表:CREATE TABLE example_table (
id INT,
item_list ARRAY<STRING>,
item_struct STRUCT<name STRING, quantity INT>
);
INSERT INTO example_table (id, item_list, item_struct)
VALUES (1, ARRAY("apple", "banana", "orange"), STRUCT("apple", 2));
LATERAL VIEW
和EXPLODE
函數將數組轉換為行,然后使用FILTER
子句刪除不需要的元素:SELECT t.id, item
FROM example_table t
LATERAL VIEW INLINE(t.item_list) items AS item
WHERE item != 'banana';
這將返回以下結果:
id | item
---------
1 | apple
1 | orange
在這個例子中,我們使用LATERAL VIEW INLINE
函數將item_list
數組轉換為行,然后使用FILTER
子句刪除不需要的元素(“banana”)。