2015-04-22 41 views
0

我知道Hadoop中的不同文件格式?默认情况下,hadoop使用文本输入格式。使用文本输入格式的优点/缺点是什么? avro在文本输入格式上的优点/缺点是什么?Hadoop输入格式 - 用法

另请帮助我了解不同文件格式(Avro,Sequence,TextInput,RCFile)的用例。

回答

2

我相信没有文字作为默认的优点,除了它的内容是人类可读和友好的。您可以通过发布Hadoop fs -cat轻松查看内容。

与文本格式的缺点是

  • 它需要更多的磁盘资源,因此会影响生产作业效率。

  • 写作/解析文本记录需要更多的时间

  • 无选项柜面的文本是从多个列组成,以保持数据类型。

Sequence,Avro,RCFile格式与文本格式相比具有非常显着的优势。

序列 - 通过实现Writable接口,键/值对象直接通过Hadoop的本机串行化过程以二进制格式存储。这些列的数据类型保持得很好,并且使用相关数据类型解析记录也很容易。由于二进制格式的原因,与文本相比,Obvoiusly占用较小的空间。

Avro - 它是一个非常紧凑的二进制存储格式的hadoop键/值对,通过Avro序列化/反序列化读/写记录。它与序列文件格式非常相似,但也提供语言互操作性和单元版本控制。

只有当你需要单元版本控制时,你才可以选择Avro over the Sequence,或者要存储的数据将被少量用Java以外的其他语言编写的应用程序使用.Avro文件可以用任何语言处理,如C,Ruby,Python ,PHP,Java,其中序列文件仅针对Java。

RCFile - 记录列文件格式是面向列的,它是Hive特定的存储格式,旨在使配置单元支持更快的数据加载速度,减少存储空间。

除此之外,您还可以考虑ORC和Parquet文件格式。

+0

文本格式的另一个缺点是缺乏任何方案。 –