hive支持hadoop中的TextFile、RCFile、SequenceFile、AVRO、ORC、Parquet格式
1、TextFile每一行都是一条记录,每行都以换行符\n结尾,数据不压缩,磁盘开销大,数据解析开销大,可以结合Gzip和Bzip2使用。这种方式,hive不会对数据切分,从而也不会对数据进行并行处理
2、SequenceFile是一种二进制文件,使用方便、可以分割、可以压缩的特点,支持三种压缩格式,NONE、record、block.record压缩效率低,一般建议使用block压缩
3、RCFile是一种列存储相结合的压缩方式,将数据按行分块,保证同一个record在一个块上,避免读取一个记录需要多个block,其次,块数据列式存储有利于数据压缩和快速的列存取
4、AVRO是开源项目,为hadoop提供数据序列化的数据交换的服务,是hadoop的应用程序中流行的文件格式之一
5、ORC文件格式提供了一种将数据存储在hive表中的高效方法,hive从大型表中读取、写入和处理数据时,使用ORC可以提高性能
6、Parquet是一个面向列的二进制格式,parquet对于大型查询类型是高效的,对于扫描特定表格中特定列查询,parquet是特别有用的,parquet使用压缩有snappy gzip,默认snappy。
总结
1、如果仅仅是hive中存储和查询,使用ORC格式
2、如果hive中存储,使用impala查询,建议使用parquet
忆山 发布了5 篇原创文章 · 获赞 0 · 访问量 101 私信 关注