TextFile
Parquet
ORC
存储格式。列式存储比起传统的行式存储更适合批量OLAP查询,并且也支持更好的压缩和编码。
创建表时,特别是宽表,尽量使用 ORC 、 ParquetFile 这些列式存储格式,因为列式存储的表,每
一列的数据在物理上是存储在一起的,
Hive
查询时会只遍历需要列数据,大大减少处理的数据量。
1、TextFile
1. 存储方式:行存储。默认格式,如果建表时不指定默认为此格式。
2. 每一行都是一条记录,每行都以换行符"\n"结尾。数据不做压缩时,磁盘会开销比较大,数据解析开
销也
比较大。
3. 可结合
Gzip 、 Bzip2 等压缩方式一起使用(系统会自动检查,查询时会自动解压), 推荐选用可切
分的压缩算法。
2、Sequence File
1. 一种 Hadoop API提供的二进制文件,使用方便、可分割压缩的特点。
2. 支持三种压缩选择:
NONE 、 RECORD 、 BLOCK 。RECORD压缩率低,一般建议使用 BLOCK 压缩 。
3、RC File
1. 存储方式:数据按行分块,每块按照列存储 。A、首先,将数据按行分块,保证同一个 record 在一
个块上,避免读一个记录需要读取多个
block
。
B
、其次,块数据列式存储,有利于数据压缩和快速
的列存取。
2. 相对来说,RCFile对于提升任务执行性能提升不大,但是能节省一些存储空间。可以使用升级版
的
ORC
格式。
4、ORC File
1. 存储方式:数据按行分块,每块按照列存储
2. Hive提供的新格式,属于RCFile的升级版,性能有大幅度提升,而且数据可以压缩存储,压缩快,快
速列存取。
3. ORC File会基于列创建索引,当查询的时候会很快。
5、Parquet File
1. 存储方式:列式存储。
2. Parquet 对于大型查询的类型是高效的。对于扫描特定表格中的特定列查询,Parquet 特别有
用。
Parquet
一般使用
Snappy
、
Gzip
压缩。默认
Snappy
。
3. Parquet 支持 Impala 查询引擎。
4. 表的文件存储格式尽量采用
Parquet 或 ORC ,不仅降低存储量,还优化了查询,压缩,表关联等性
能。
选择合适的压缩格式
评论0