主页 > 新闻资讯 > 大数据学习:Hive文件存储格式对比

大数据学习:Hive文件存储格式对比

作者:张老师 浏览次数: 2021-03-25 17:46
前面我们讲了Hive支持的几种文件格式,作为Hadoop生态下的数仓工具,Hive在性能上是值得肯定的,而不同的文件存储格式,对于各种任务的执行和完成,在性能和效率上还是有影响的。今天的大数据学习分享,我们就接着来讲,Hive几种文件存储格式的对比。

大数据学习:Hive文件存储格式对比

通常来说,Hive的默认存储格式是文本文件格式,通过可选的子句STORED AS TEXTFILE显式指定,同时用户还可以在创建表时指定各种各样的分隔符。

TEXTFILE每一行被认为是一个单独的记录,用户可以将TEXTFILE替换为其他Hive所支持的内置文件格式,比如orc,parquet之类的。

常用的Hive存储格式对比:

TextFile每一行都是一条记录,每行都以换行符(\n)结尾。数据不做压缩,磁盘开销大,数据解析开销大。可结合Gzip、Bzip2使用(系统自动检查,执行查询时自动解压),但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。

SequenceFile是Hadoop API提供的一种二进制文件支持,其具有使用方便、可分割、可压缩的特点。支持三种压缩选择:NONE,RECORD,BLOCK。Record压缩率低,一般建议使用BLOCK压缩。存储空间消耗最大,压缩的文件可以分割和合并查询效率高,需要通过text文件转化来加载

RCFile是一种行列存储相结合的存储方式。首先,其将数据按行分块,保证同一个record在一个块上,避免读一个记录需要读取多个block。其次,块数据列式存储,有利于数据压缩和快速的列存取。

AVRO是开源项目,为Hadoop提供数据序列化和数据交换服务。您可以在Hadoop生态系统和以任何编程语言编写的程序之间交换数据。Avro是基于大数据Hadoop的应用程序中流行的文件格式之一。

ORC文件代表了优化排柱状的文件格式。ORC文件格式提供了一种将数据存储在Hive表中的高效方法。这个文件系统实际上是为了克服其他Hive文件格式的限制而设计的。Hive从大型表读取,写入和处理数据时,使用ORC文件可以提高性能。压缩快,快速列存取,效率比rcfile高,是rcfile的改良版本。

Parquet是一个面向列的二进制文件格式。Parquet对于大型查询的类型是高效的。对于扫描特定表格中的特定列的查询,Parquet特别有用。Parquet桌子使用压缩Snappy,gzip;目前Snappy默认相对于ORC,Parquet压缩比较低,查询效率较低,不支持update、insert和ACID。但是Parquet支持Impala查询引擎

一句总结:Hive更推荐orc,Impala更推荐Parquet。

关于大数据学习,Hive文件存储格式对比,以上就为大家做了简单的介绍了。Hive的几种文件存储格式,本质上来说是适用于不同的场景下,根据具体的需求来进行调整,是基本的思路。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,零基础班本月正在招生中,课程大纲及试听课程可联系客服获取!
热点排行
推荐文章
立即申请>>