HDFS工业标准文件格式用于存储?

时间:2016-02-24 06:23:41

标签: hadoop hdfs bigdata

在HDFS中存储数据的文件格式的顶级工业实现方法有哪些,以提高性能并更好地利用群集?

与普通文本文件相比,似乎以镶木地板文件格式存储数据可提供良好的性能数字。使用具有snappy压缩功能的镶木地板可以提高性能,并在空间方面更好地利用群集。

所以我的问题是,是否只使用镶木地板文件格式,或者使用镶木地板和snappy压缩来存储HDFS上的数据。什么是工业标准方法,为什么?任何帮助都非常感谢。

3 个答案:

答案 0 :(得分:2)

据我所知, Parna格式与Snappy Compression 非常有效并广泛应用于行业。您也可以使用Avro,但这取决于您的使用案例。互联网上的比较统计数据:

Uncompressed CSV              : 1.8 GB 
Avro                          : 1.5 GB 
Avro w/ Snappy Compression    : 750 MB 
Parquet w/ Snappy Compression : 300 MB

您可以查看this文档了解详情。

答案 1 :(得分:1)

这当然取决于你的用例。

您想在这些文件之上使用查询引擎(Hive,Impala)吗?选择ORC或Parquet等柱状格式。列式格式对查询更有效,因为您通常只将一部分数据投影到结果中。另外,他们压缩得非常好。

您是否计划在数据的所有字段上使用大多数MapReduce /批处理操作?

再次取决于您的用例:人类可读?使用JSON或CSV。二进制?使用序列文件。

答案 2 :(得分:0)

请记住,分布遵循不同的方法

Hortonworks会告诉您应该使用ORC。因为这是Hortonworks支持的格式。你可以和snappy一起使用它。

Cloudera会告诉您使用Parquet,因为这是他们的首选格式。

MapR会告诉你HDFS是一个文件存储而不是文件系统,使用MapRFS是Hadoop上唯一真正的文件系统,你应该去做。

遵循经销商的建议绝对是一个不错的选择。您很可能不会仅根据文件存储参数选择分发。