Apache Hive支持Apache Hadoop中使用的几种熟悉的文件格式,如TextFile,RCFile,SequenceFile,AVRO,ORC和Parquet格式。
Cloudera Impala也支持这些文件格式。 在建表时使用STORED AS (TextFile|RCFile|SequenceFile|AVRO|ORC|Parquet)来指定存储格式
 
TextFile每一行都是一条记录,每行都以换行符(\ n)结尾。数据不做压缩,磁盘开销大,数据解析开销大。可结合Gzip、Bzip2使用(系统自动检查,执行查询时自动解压),但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。
 
SequenceFile是Hadoop API提供的一种二进制文件支持,其具有使用方便、可分割、可压缩的特点。支持三种压缩选择:NONE, RECORD, BLOCK。 Record压缩率低,一般建议使用BLOCK压缩。
 
RCFile是一种行列存储相结合的存储方式。首先,其将数据按行分块,保证同一个record在一个块上,避免读一个记录需要读取多个block。其次,块数据列式存储,有利于数据压缩和快速的列存取。
 
AVRO是开源项目,为Hadoop提供数据序列化和数据交换服务。您可以在Hadoop生态系统和以任何编程语言编写的程序之间交换数据。Avro是基于大数据Hadoop的应用程序中流行的文件格式之一。
 
ORC文件代表了优化排柱状的文件格式。ORC文件格式提供了一种将数据存储在Hive表中的高效方法。这个文件系统实际上是为了克服其他Hive文件格式的限制而设计的。Hive从大型表读取,写入和处理数据时,使用ORC文件可以提高性能。

Parquet是一个面向列的二进制文件格式。Parquet对于大型查询的类型是高效的。对于扫描特定表格中的特定列的查询,Parquet特别有用。Parquet桌子使用压缩Snappy,gzip;目前Snappy默认。

存储格式对比

Parquet与ORC对比

 总结:如果仅仅是在HIve中存储和查询,建议使用ORC格式,如果在Hive中存储,而使用Impala查询,建议使用Parquet

最新文章

  1. [译]Android调整图像大小的一些方法
  2. 深入理解java中的synchronized关键字
  3. [ORACLE错误]oracle 不能更新 PL/SQL 点击“edit data”报“ these query results are not updateable”
  4. SQL--查询相同字段的数据
  5. 创建条形码图像易用的控制字符编码功能的条形码控件Native Crystal Reports Barcode Generator
  6. 黄聪:wordpress如何扩展TinyMCE编辑器,添加自定义按钮及功能
  7. linux中ulimit作用
  8. mac下使用brew安装svn javahl的问题
  9. Swift互用性:与 Objective-C 的 API 交互(Swift 2.0版更新)-备
  10. poj1528---(数论)
  11. 20个经典bootsrtap后台html网站模板推荐
  12. iOS 静态库,动态库与 Framework 浅析
  13. jdk7和8中关于HashMap和concurrentHashMap的扩容过程总结,以及HashMap死循环
  14. Unity 琐碎(4) 可视化辅助调试Giamos
  15. Bootstrap 引入文件顺序及IE兼容性js
  16. [财务知识] debt debit credit 的区别于联系
  17. KVM和QEMU简介
  18. Java并发编程--4.Executor框架
  19. MICS:副本和纠删码混合存储系统
  20. 80.Vigenère密码(模拟)

热门文章

  1. 二进制包安装Mysql
  2. 激活Microsoft Word 2010
  3. Node.js使用child_process调用系统命令示例
  4. Eclipse导入Spring Boot项目后pom.xml出现红叉的解决办法
  5. DB2函数简单示例
  6. 接着上次的python爬虫,今天进阶一哈,局部解析爬取网页数据
  7. Java 23中设计模式
  8. Asp.Net Core集成Swagger
  9. 学习笔记:oracle学习一:oracle11g体系结构之服务器结构、数据字典
  10. Selenium绕过登录的实现