在Hive中使用JSON外部表可以方便地將JSON數(shù)據(jù)導(dǎo)入Hadoop集群中進(jìn)行存儲、處理和分析。下面將介紹如何使用Hive導(dǎo)入JSON格式的數(shù)據(jù)到外部表中。
首先需要在Hive中創(chuàng)建一個(gè)外部表,這里我們稱之為employee_json:
CREATE EXTERNAL TABLE employee_json ( id INT, name STRING, age INT, salary DOUBLE ) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' LOCATION '/user/hive/warehouse/employee_json';
在上述代碼中,ROW FORMAT SERDE指定了使用JsonSerDe類來解析JSON格式的數(shù)據(jù),LOCATION指定了外部表的存儲位置。
創(chuàng)建完外部表后,我們需要將JSON數(shù)據(jù)導(dǎo)入到該表中。假設(shè)我們已經(jīng)將JSON數(shù)據(jù)文件存儲在Hadoop分布式文件系統(tǒng)中的/user/hive/warehouse/employee.json路徑下,使用下面的語句執(zhí)行導(dǎo)入:
LOAD DATA INPATH '/user/hive/warehouse/employee.json' OVERWRITE INTO TABLE employee_json;
執(zhí)行完上述語句后,我們可以使用SELECT語句來查詢導(dǎo)入的數(shù)據(jù):
SELECT * FROM employee_json;
這樣,我們就成功地將JSON格式的數(shù)據(jù)導(dǎo)入到Hive的外部表中了。