在Hive中使用Avro

简介:

作者:过往记忆 | 新浪微博:左手牵右手TEL | 
可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
博客地址:
文章标题:
本文链接:
Hadoop、Hive、Hbase、Flume等QQ交流群:138615359(已满),请加入新群:149892483

本博客的微信公共帐号为:iteblog_hadoop,欢迎大家关注。
如果你觉得本文对你有帮助,不妨分享一次,你的每次支持,都是对我最大的鼓励

如果本文的内容对您的学习和工作有所帮助,不妨支付宝赞助(wyphao.2007@163.com)一下


Avro(读音类似于[ævrə])是Hadoop的一个子项目,由Hadoop的创始人Doug Cutting牵头开发。Avro是一个数据序列化系统,设计用于支持大批量数据交换的应用。它的主要特点有:支持二进制序列化方式,可以便捷,快速地处理大量数据;动态语言友好,Avro提供的机制使动态语言可以方便地处理Avro数据。
Hive中,我们可以将数据使用Avro格式存储,本文以avro-1.7.1.jar为例,进行说明。

  如果需要在 Hive中使用Avro,需要在$HIVE_HOME/lib目录下放入以下四个工具包:avro-1.7.1.jar、avro-tools-1.7.4.jar、 jackson-core-asl-1.8.8.jar、jackson-mapper-asl-1.8.8.jar。当然,你也可以把这几个包存在别的路径下面,但是你需要把这四个包放在CLASSPATH中。

  为了解析Avro格式的数据,我们可以在Hive建表的时候用下面语句:

01 hive> CREATE EXTERNAL TABLE tweets
02     > COMMENT "A table backed by Avro data with the
03     >        Avro schema embedded in the CREATE TABLE statement"
04     > ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
05     > STORED AS
06     > INPUTFORMAT  'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
07     > OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
08     > LOCATION '/user/wyp/examples/input/'
09     > TBLPROPERTIES (
10     >    'avro.schema.literal'='{




本文转自茄子_2008博客园博客,原文链接:http://www.cnblogs.com/xd502djj/p/4089644.html ,如需转载请自行联系原作者。

目录
相关文章
|
5月前
|
SQL 存储 分布式计算
hive解决了什么问题
hive解决了什么问题
41 0
|
7月前
|
SQL Java 数据库连接
|
9月前
|
SQL 存储 分布式计算
HIVE初识
什么是HiveHive是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载,可以简称为ETL。
58 1
|
10月前
|
SQL 存储 分布式计算
Hive小结1
Hive小结
71 1
|
10月前
|
SQL 存储 分布式计算
Hive小结2
Hive小结2
94 0
|
11月前
|
SQL 分布式计算 大数据
Hive 到底有什么用?
MapReduce简化大数据编程难度,但对经常需大数据计算的人,如从事研究BI的数据分析师,他们通常使用SQL进行大数据分析和统计,MapReduce编程还是有门槛。且若每次统计和分析都开发相应MapReduce程序,成本确实太高。
78 0
Hive中not in的正确使用
Hive中not in的正确使用
Hive中not in的正确使用
|
SQL 数据库 HIVE
|
SQL 存储 分布式计算
Hive讲解
1、Hive基本概念 2、Hive安装 3、HIve数据类型 4、DDL数据定义 5、DML数据操作 6、查询 7、分区表和分桶表 8、函数 9、压缩和存储
374 0