如何在Hive中使用Json格式数据
答案:2 悬赏:30 手机版
解决时间 2021-03-18 03:31
- 提问者网友:人傍凄凉立暮秋
- 2021-03-17 17:21
如何在Hive中使用Json格式数据
最佳答案
- 五星知识达人网友:怀裏藏嬌
- 2021-03-17 19:01
# 添加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;
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;
全部回答
- 1楼网友:几近狂妄
- 2021-03-17 19:22
方法: 1、将json以字符串的方式整个入hive表,然后使用lateral view json_tuple的方法,获取所需要的列名。 2、将json拆成各个字段,入hive表。这将需要使用第三方的serde,例如:https://code.google.com/p/hive-json-serde/ 本文将主要使用第二种方法。wget https://hive-json-serde.googlecode.com/files/hive-json-serde-0.2.jar
# 添加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的版本无压力。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯