Hive是Hadoop生態系統中非常受歡迎的數據倉庫解決方案之一。它通過在Hadoop集群上運行SQL查詢來使數據變得更加可訪問。本文將介紹如何在Hive中加載JSON數據。
CREATE TABLE mytable(
id int,
name string,
age int
)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
STORED AS TEXTFILE;
首先,我們需要先創建一個空表來存儲JSON數據。在上述代碼中,我們定義了名為“mytable”的表,該表包含“id”、“name”和“age”三個字段。注意,我們使用的序列化器是Hive自帶的JsonSerDe。
LOAD DATA LOCAL INPATH "/path/to/json/file" INTO TABLE mytable;
現在,我們準備將JSON數據加載到該表中。使用LOAD DATA命令可以將本地文件系統中的數據加載到Hive表中。您可以使用LOCAL關鍵字,將文件復制到節點本地然后加載,也可以直接將文件加載到Hadoop集群中。
需要注意的是,由于我們選擇了JsonSerDe序列化器,因此請確保JSON文件中的數據格式正確。如果JSON中的數據不符合指定的數據類型,則將無法加載到該表中。
SELECT * FROM mytable;
現在,我們可以查詢這些JSON數據并將其顯示出來。可以使用標準的SELECT查詢來檢索數據。
總結:使用Hive將JSON數據加載到表中非常簡單。只需要創建一個空表并使用LOAD DATA命令將JSON數據加載到表中。此外,請注意使用正確的序列化器,并確保JSON數據格式正確。
下一篇c json遍歷數組