Apache Parquet 与Apache ORC简介
2016-07-23 20:08
561 查看
1.列存储的优势
传统的 RDBMS 大多使用的行存储方式,现如今随着大数据技术的发展,对于存储的要求越来越高,列存储相对有自己明显的优势:列数据相对来说比较类似,压缩比更高;一般的查询只涉及几列,列存储的查询性能也更高;可以方便地新增列等。在某些场景下,选择列存储是非常不错的选择,从节省存储的角度来说就非常吸引人了。目前,比较有名的开源实现有 Apache Parquet 和 Apache ORC。ORC 官网介绍 Facebook 和 Yahoo 都使用了 ORC。
2.Parquet
pache Parquet 是 Apache 的顶级项目,是一个自描述语言无关的列存储,最初的设计动机是为了存储嵌套数据,可以将 ProtoBuf、Thrift、Avro 等格式的数据转换为列格式来存储,这是其最大的优势。此外,也有基本的功能,数据压缩、基本的索引功能、支持复杂类型等。主要在 Apache Drill 中使用。从 Hive 0.13 开始,Hive 开始原生支持 Parquet,注意不是全部类型都支持,详情请参考 Hive 官方文档。使用方法很简单,只需要在建表语句的时候,声明存储格式即可。
-- 建表,通过修改 parquet.compression 参数来修改压缩算法 CREATE TABLE parquet_test ( id int, str string, mp MAP<STRING,STRING>, lst ARRAY<STRING>, strct STRUCT<A:STRING,B:STRING>) PARTITIONED BY (part string) STORED AS PARQUET TBLPROPERTIES ("parquet.compression"="SNAPPY"); -- 数据迁移只需要将原来的表数据重新插入一遍即可 INSERT OVERWRITE TABLE parquet_test SELECT * FROM old_test;
数据存储格式图
3.ORC
ORC(OptimizedRC File)也是 Apache 的顶级项目,也是自描述的列存储,源自于RC(RecordColumnar File),主要是在 Hive 中使用,支持数据压缩、索引功能、update 操作、ACID 操作、支持复杂类型等,其查询性能相对 Parquet 略有优势。从 Hive 0.11 版本开始引入,使用方法也很简单。
CREATE TABLE ORC_test ( ... ) STORED AS ORC TBLPROPERTIES ("orc.compress"="NONE"); -- merge small ORC files into a larger file, starting in hive 0.14 ALTER TABLE ORC_test PARTITION(...) CONCATENATE;
数据存储格式图
相关文章推荐
- Spring之整合Apache CXF框架实现WebServices远程调用
- apache开启虚拟主机VHOST后 localhost无法访问,出现Forbidden 403
- 关于org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.IllegalAccessError
- Apache服务器下载、安装、配置
- 向HDFS上传文件时报错16/07/23 01:13:30 WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.Rem
- windows 下wamp环境1 配置之apache的安装
- 搭建简单的Web服务器
- Web服务器 Apache URL重写
- Apache Maven 入门篇(下)
- Apache Maven 入门篇 ( 上 )
- 解决编译apache出现的问题:configure: error: APR not found . Please read the documentation
- Apache FileUpload详细介绍
- Apache FileUpload详细介绍
- Web---文件上传-用apache的工具处理、打散目录、简单文件上传进度
- Web---文件上传-用apache的工具处理、打散目录、简单文件上传进度
- ubuntu apache 启动报错
- apache ab压力测试报错
- javaEE:day7-上传文件(Apache包)、目录打散、文件上传进度条、纯前台进度条
- Window 7安装和配置Apache2.4服务器(by 星空武哥)
- Windows下apache虚拟目录