Hive中的JSON數組轉換為數組是一項基本的數據操作。在Hive內部,數組通常以JSON格式存儲。在此處,我們將介紹如何在Hive 中將JSON數組轉換為數組。
-- 創建一個包含JSON數據的表
CREATE TABLE user (id int, name string, addresses array>) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATED BY ':';
-- 插入數據
INSERT INTO user VALUES (1, 'Alice', '[{"city": "Beijing", "state": "China"}, {"city": "New York", "state": "USA"}]'), (2, 'Bob', '[{"city": "Shanghai", "state": "China"}]');
-- 將JSON數組轉換為數組
SELECT id, name, addresses.city, addresses.state FROM user LATERAL VIEW explode(addresses) adTable AS addresses;
在上面的代碼段中,我們創建了一個包含JSON數據的表。然后,我們向此表中插入一些數據。最后,我們使用Hive中的LATERAL VIEW和EXPLODE函數將JSON數組轉換為數組。
總之,將JSON數組轉換為數組是Hive中的常見數據操作。在Hive中使用LATERAL VIEW和EXPLODE函數可以輕松完成此操作。