HIVE儲存格式詳解
阿新 • • 發佈:2018-11-19
目前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/