Hive中的JSON數(shù)據(jù)是指存儲(chǔ)在Hive表中的一種數(shù)據(jù)類型,可以使用JSON格式來(lái)表示數(shù)據(jù)。
CREATE EXTERNAL TABLE example_table ( id INT, json_data STRING ) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' STORED AS TEXTFILE;
在這個(gè)例子中,我們使用JsonSerDe來(lái)讓Hive支持JSON數(shù)據(jù)類型,在創(chuàng)建表的時(shí)候需要設(shè)置ROW FORMAT SERDE參數(shù)。然后我們定義了一個(gè)id和json_data兩個(gè)字段,其中json_data就是存儲(chǔ)JSON數(shù)據(jù)的字段。
INSERT INTO example_table (id, json_data) VALUES ( 1, '{ "name": "Alice", "age": 20, "hobbies": ["reading", "swimming"] }' ); SELECT * FROM example_table;
接著我們向example_table表中插入一行數(shù)據(jù),其中json_data的值是一個(gè)JSON對(duì)象,包含了姓名、年齡和興趣愛(ài)好。最后我們查詢了表中的所有數(shù)據(jù)。
通過(guò)使用JSON數(shù)據(jù)類型,我們可以更方便地存儲(chǔ)和查詢復(fù)雜的數(shù)據(jù)結(jié)構(gòu),并且在處理JSON格式的數(shù)據(jù)時(shí)可以使用Hive內(nèi)置的JSON函數(shù)和操作符。