本文就來說說這個知識點。?
Hive主要有四種存儲格式:textfile、sequencefile、orc和parquet。其中很少使用sequencefile,常見的有orc和parquet,常與壓縮方式合理使用。
建表的說法是:存儲為textfile/orc/parquet。
行存儲,是hive表默認的存儲格式,默認不壓縮數據,有很高的磁盤開銷和數據解析開銷,數據不支持分片(也就是說,意味著對數據的並行操作將無法進行)。
行列式存儲,數據按行劃分,每個塊按列存儲,每個塊存儲壹個索引,支持none、zlib和snappy。默認采用zlib壓縮模式,不支持切片。orc存儲格式可以提高讀寫和處理hive表的性能。
列存儲是面向列的二進制文件格式(不能直接讀取),文件中包含數據和元數據,所以存儲格式是自解析的,在大規模查詢中效率高。parquet主要用於存儲多層嵌套數據,以提供良好的性能支持,默認的方法是不壓縮。
行存儲引擎:同壹數據的不同字段在相鄰位置,所以當要查找某條記錄的所有數據時,行存儲的查詢速度更快。
列存儲引擎:數據是按列聚合的,同壹個字段的值聚合在壹起,所以在查詢指定列的所有數據時,列存儲的查詢速度更快。
Hive主要支持gzip、zlib、snappy和lzo。
壓縮不會改變元數據的整除性,即壓縮後原始值不變。
建桌的說法是:TBL地產(“orc。壓縮" = "爽快")。
判斷壓縮方法的標準主要包括以下幾點:
對壓縮方法進行總結和比較: