17 hive 的資料儲存格式

2021-10-17 09:03:03 字數 1045 閱讀 6282

行儲存的特點:查詢滿足條件的一整行(所有列)資料的時候,列儲存則需要去每個聚集的字段找到對應的每個列的值,行儲存只需要找到其中乙個值,其餘的值都在相鄰地方,所以此時行儲存查詢的速度更快。

列儲存的特點:因為每個欄位的資料聚集儲存,在查詢只需要少數幾個欄位的時候,能大大減少讀取的資料量;每個欄位的資料型別一定是相同的,列式儲存可以針對性的設計更好的設計壓縮演算法。

預設格式,行式儲存。可結合gzip、bzip2使用(系統自動檢查,執行查詢時自動解壓),但使用這種方式,hive不會對資料進行切分,從而無法對資料進行並行操作。並且反序列化過程中,必須逐個字元判斷是不是分隔符和行結束符,效能較差。

使用orc檔案格式可以提高hive讀、寫和處理資料的能力。orcfile是rcfile的公升級版。

在orc格式的hive表中,資料按行分塊,每塊按列儲存。結合了行儲存和列儲存的優點。記錄首先會被橫向的切分為多個stripes,然後在每乙個stripe內資料以列為單位進行儲存,所有列的內容都儲存在同乙個檔案中。

每個stripe的預設大小為256mb,相對於rcfile每個4mb的stripe而言,更大的stripe使orc可以支援索引,資料讀取更加高效。

最終結論:

一般情況下,資料倉儲採用的儲存格式是 orc 格式 ,預設的 zlib 壓縮比比較高,但是讀取相對較慢,一般情況下不使用 orc 預設的zlib壓縮/解壓縮儲存方式;

在查詢資料的過程中, map 端和 reduce 端使用壓縮方案。

17hive主流儲存格式

1.列式儲存和行式儲存 1 列儲存的特點 因為每個欄位的資料聚集儲存,在查詢只需要少數幾個欄位的時候,能大大減少讀取的資料量 每個欄位的資料型別一定是相同的,可以針對性的設計更好的壓縮演算法。2 行儲存的特點 查詢滿足條件的一整行資料的時候,列儲存則需要去每個聚集的字段找到對應的每個列的值,行儲存只...

Hive的資料儲存格式

hive 沒有專門的資料儲存格式,也沒有為資料建立索引,使用者可以非常自由的組織 hive 中的表,只需要在建立表的時候告訴 hive 資料中的列分隔符和行分隔符,hive 就可以解析資料。其次,hive 中所有的資料都儲存在 hdfs 中,hive 中包含以下資料模型 table,external...

hive 資料儲存格式詳解

hive的三種檔案格式 textfile sequencefile rcfile 中,textfile和sequencefile的儲存格式都是基於行儲存的,rcfile是基於行列混合的思想,先按行把資料劃分成n個row group,在row group中對每個列分別進行儲存。另 hive能支援自定義...