hive儲存格式

2021-07-23 15:54:55 字數 1083 閱讀 5518

textfile

預設格式,行儲存,匯入資料時直接把資料檔案拷貝到hdfs的hive表目錄(hive location),資料檔案可先經過gzip等壓縮,再導hive表(系統自動檢查,執行查詢時自動解壓),但使用這種方式,hive不會對資料進行切分,從而無法對資料進行並行操作.

優點:資料載入快(load資料快)

缺點:資料讀取時磁碟開銷大,即查詢效率低

sequencefile

二進位制檔案格式,以的形式序列化到檔案中,行儲存,使用方便、可分割、可壓縮。sequencefile支援三種壓縮選擇:none,record,block。record壓縮率低,一般建議使用block壓縮

rcfile

rcfile是一種行列儲存相結合的儲存方式。首先,其將資料按行分塊,保證同乙個record在乙個塊上,避免讀乙個記錄需要讀取多個block。其次,塊資料列式儲存,有利於資料壓縮和快速的列訪問。rcfile儲存空間最小,查詢的效率最高

orc file

orc(optimized row columnar)針對rcfile做了一些優化,提供一種更高效的方法來儲存hive資料,高壓縮高效能,orc格式支援表分桶和一些複雜的資料型別,如:map等,

乙個orc檔案會被分成多個stripe:

詳情請檢視官方文件:

自定義格式

通過對inputformat、outputformat、serde自定義,hive能夠與自定義的文件格式進行互動:

sequencefile,rcfile,orcfile格式的表不能直接從本地檔案匯入資料,資料要先匯入到textfile格式的表中, 然後再從表中用insert匯入sequencefile,rcfile,orcfile表中.

可以先建立txtfile格式內部臨時表tmp_testp,使用hdfs fs -put命令向tmp_testp表路徑拷貝資料(不是load,load data時多一步distcp操作),再建立orc格式外部表http_orc,使用insert命令把tmp_test表匯入http_orc中,最後刪除掉臨時表資料

參考:

Hive儲存格式

hive的四種儲存格式 textfile sequencefile rcfile parquet 列式儲存和行式儲存的比較 優點缺點 行式儲存 一行資料是一條記錄,放在同乙個block塊中 只查詢幾個列時,也會讀取整行的資料,當資料量大時,影響效能 方便進行insert update操作 不同型別的...

hive 儲存格式

hive有textfile,sequencefile,rcfile三種檔案格式。textfile為預設格式,建表時不指定預設為這個格式,匯入資料時會直接把資料檔案拷貝到hdfs上不進行處理。sequencefile,rcfile格式的表不能直接從本地檔案匯入資料,資料要先匯入到textfile格式的...

HIVE檔案儲存格式

hive檔案儲存格式包括以下幾類 textfile sequencefile rcfile orcfile 其中textfile為預設格式,建表時不指定預設為這個格式,匯入資料時會直接把資料檔案拷貝到hdfs上不進行處理。sequencefile,rcfile,orcfile格式的表不能直接從本地檔...