1. 程式人生 > >[Hive_add_9] Hive 的儲存格式

[Hive_add_9] Hive 的儲存格式


0. 說明

  Hive 的儲存格式 | textfile | sequencefile | rcfile | orc | parquet |

 


 

1. Hive的儲存格式

  1.1 textfile

  行式儲存 

 

  1.2 sequencefile

  二進位制的k-v對,行式儲存

  配置塊壓縮

  SET hive.exec.compress.output=true;
  
SET io.seqfile.compression.type=BLOCK;

 

 


  1.3 rcfile

  列式儲存

  先將資料進行橫切(4M),成為行組,行組內又縱向切割分為多個欄位

 

  1.4 orc

  列式儲存

  比 rc 檔案更大的塊(256M),優化磁碟的線性讀取,通過指定的編碼器確定資料型別並優化壓縮
  還儲存了基本統計資料,比如 min,max,sum,count。。。

 

  1.5 parquet

 

  列式儲存

  適用範圍更廣(在 Hadoop 生態系統中)
  適用於巢狀檔案格式

 

 


 

2. 測試 

  使用 duowan 資料

  設定 Hive自動使用本地模式

SET hive.exec.mode.local.auto=true;

 

  輸入檔案大小低於此值會進入本地模式

SET hive.exec.mode.local.auto.inputbytes.max=500000000;

 

  輸入檔案個數低於此值會進入本地模式

SET hive.exec.mode.local.auto.input.files.max=5;

 

  設定seqFile使用塊壓縮

SET hive.exec.compress.output=true;
SET io.seqfile.compression.type=
BLOCK;