如何在Hive中使用Json格式数据
展开全部
总体来说,有两大类方法:
1、将json以字符串的方式整个入Hive表,然后使用LATERAL VIEW json_tuple的方法,获取所需要的列名。
2、将json拆成各个字段,入Hive表。这将需要使用第三方的SerDe,例如:https //code google com/p/hive-json-serde/
第二种方法
# 添加jar包
hive> add jar /home/heyuan.lhy/develop/wanke_http_test/hive-json-serde-0.2.jar;
hive>
# 创建hive表
CREATE TABLE test_json
(
id BIGINT,
text STRING,
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.JsonSerde'
STORED AS TEXTFILE
;
LOAD DATA LOCAL INPATH "test.json" OVERWRITE INTO TABLE test_json;
之后,就可以使用 SELECT等语句进行操作了。
备注:这个SerDe虽然比较老,但经过测试,支持到0.12的版本无压力。
1、将json以字符串的方式整个入Hive表,然后使用LATERAL VIEW json_tuple的方法,获取所需要的列名。
2、将json拆成各个字段,入Hive表。这将需要使用第三方的SerDe,例如:https //code google com/p/hive-json-serde/
第二种方法
# 添加jar包
hive> add jar /home/heyuan.lhy/develop/wanke_http_test/hive-json-serde-0.2.jar;
hive>
# 创建hive表
CREATE TABLE test_json
(
id BIGINT,
text STRING,
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.JsonSerde'
STORED AS TEXTFILE
;
LOAD DATA LOCAL INPATH "test.json" OVERWRITE INTO TABLE test_json;
之后,就可以使用 SELECT等语句进行操作了。
备注:这个SerDe虽然比较老,但经过测试,支持到0.12的版本无压力。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询