按行存储:sequenceFile、mapfile、avro

  • sequenceFile:hadoop api提供的一种二进制文件,数据以<key,value>的形式序列化到文件中。不是很常用,一般用来合并小文件。

  • mapfile:带索引的sequenceFile

  • avro:数据序列化框架,类似protocol buffers,thrift,avro有自己的文件格式.avro结尾,avro依赖shema实现数据结构定义。avro类似于序列文件,但是sequenceFile只支持java语言,avro是跨语言的。同时avro也是rpc框架。如果数据的输入格式经常发生变化,就可以考虑用avro。

按列存储:orc、parquet

hadoop文件格式

  • parquet:和orc差别不大,orc在hive中用的多。parquet在spark中用的多。

 

hadoop文件格式

 

  • parquet和orc提供了最佳的读取性能,但是写入性能较差。

  • 由于avro是按行存储,在流计算也用的多。

  • 无论文件格式如何,压缩数据意味着查询时间更长。

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-06
  • 2022-12-23
  • 2021-09-12
  • 2022-01-19
  • 2021-07-29
  • 2021-09-15
猜你喜欢
  • 2021-04-19
  • 2021-08-12
  • 2021-05-31
  • 2021-06-29
  • 2021-06-19
  • 2022-01-07
  • 2022-12-23
相关资源
相似解决方案