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格式的表不能直接從本地檔...