Apache Parquet 是有效存儲嵌套資料的列式存儲格式
Hive中的ORC(Optimized Record Columnar)也是列式存儲
Parquet
1 與語言無關的定義檔案格式的Parquet規範
2 不同語言的規範實作,讀寫Parquet
模式規範
重複數+資料類型+字段名稱
重複數:required/optional/repeated
資料類型
原子類型
boolean/int32/int64/int96/float/double/binary/fixed_len_byte_array
邏輯類型
UTF-8/ENUM/DECIMAL/DATE/LIST/MAP
使用group建立複雜類型
嵌套編碼
使用Dremel編碼,模式中的每個原子類型的字段都單獨存儲為一列,每個值都要通過使用兩個整數對結構進行編碼,definition level和repetition level
對任意列(包括嵌套列)的讀取不需要涉及到其他列