如何在Hive中使用Json格式数据
2015-12-28 08:55
666 查看
本文参考了:http://pkghosh.wordpress.com/2012/05/06/hive-plays-well-with-json/
表示感谢!
总体来说,有两大类方法:
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的版本无压力。
表示感谢!
总体来说,有两大类方法:
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;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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; |
备注:这个SerDe虽然比较老,但经过测试,支持到0.12的版本无压力。
相关文章推荐
- 你应该知道的25道Javascript面试题
- js点击其他地方
- javascript Set data structures
- 使用eval解析JSON对象
- 目录视图摘要视图订阅 基于Extjs开发不允许为空的文本框提示及相应的验证错误提示(转)
- js时间戳转为日期格式的方法
- 基于JavaScript实现网页倒计时自动跳转代码
- 浅析JS运动
- 基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
- js运动应用实例解析
- js实现瀑布流的三种方式比较
- 原生JavaScript实现瀑布流布局
- 简单介绍JavaScript数据类型之隐式类型转换
- 一种新的javascript对象创建方式Object.create()
- JSON数据解析
- SeaJS 里版本号和时间戳管理的最佳实践
- js获取日期
- HTML,CSS,JavaScript学习笔记--导航
- JStack分析cpu消耗过高问题
- Javascript正则表达式