1. 程式人生 > >HIVE儲存格式詳解

HIVE儲存格式詳解

目前hive常用的儲存格式

STORED AS (TextFile|RCFile|SequenceFile|AVRO|ORC|Parquet)

TEXTFILE, SEQUENCEFILE, RCFILE, ORC, PARQUET, AVRO

下面是他們的詳細對比:

格式 儲存方式 壓縮方式 具體特點
TEXTFILE 按行儲存 Gzip,Bzip2  儲存空間消耗比較大,並且壓縮的text 無法分割和合並 查詢的效率最低,可以直接儲存,載入資料的速度最高
SEQUENCEFILE 按行儲存 NONE,RECORD,BLOCK。Record壓縮率低,一般建議使用BLOCK壓縮 儲存空間消耗最大,壓縮的檔案可以分割和合並 查詢效率高,需要通過text檔案轉化來載入
RCFILE 按列儲存   儲存空間最小, 查詢的效率最高 , 需要通過text檔案轉化來載入, 載入的速度最低。 壓縮快 快速列存取。 讀記錄儘量涉及到的block最少  讀取需要的列只需要讀取每個row group 的頭部定義。  讀取全量資料的操作 效能可能比sequencefile沒有明顯的優勢
ORC 按列儲存 zlib(default),snappy 壓縮快,快速列存取 ,效率比rcfile高,是rcfile的改良版本
PARQUET 按列儲存   相對於PRC,Parquet壓縮比較低,查詢效率較低,不支援update、insert和ACID.但是Parquet支援Impala查詢引擎
AVRO 按行儲存    

參考資料:

https://zh.hortonworks.com/blog/orcfile-in-hdp-2-better-compression-better-performance/

https://www.cnblogs.com/skyl/p/4740301.html

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ORC

 http://dwgeek.com/hive-different-file-formats-text-sequence-rc-avro-orc-parquet-file.html/