掃描優化的列存儲格式,默認是parquet
寫優化的行格式,默認是avro
Parquet、Avro、ORC格式
相同點
基於Hadoop文件系統優化出的存儲結構
提供高效的壓縮
二進制存儲格式
文件可分割,具有很強的伸縮性和並行處理能力
使用schema進行自我描述
屬於線上格式,可以在Hadoop節點之間傳遞數據
不同點
行式存儲or列式存儲:Parquet和ORC都以列的形式存儲數據,而Avro以基於行的格式存儲數據。 就其本質而言,面向列的數據存儲針對讀取繁重的分析工作負載進行了優化,而基於行的數據庫最適合於大量寫入的事務性工作負載。
壓縮率:基於列的存儲區Parquet和ORC提供的壓縮率高於基於行的Avro格式。
可兼容的平臺:ORC常用於Hive、Presto;Parquet常用於Impala、Drill、Spark、Arrow;Avro常用於Kafka、Druid。
不同的案例和應用場景選擇合適的存儲格式,可以提升存儲和讀取的效率。