2015-04-22 69 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

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