Facebook數據倉庫揭祕說到,
RCFile(Record
Columnar File)存儲結構遵循的是“先水平劃分,再垂直劃分”的設計理念,它結合了行存儲和列存儲的優點:首先,RCFile保證同一行的數據位於同一節點,因此元組重構的開銷很低;其次,像列存儲一樣,RCFile能夠利用列維度的數據壓縮,並且能跳過不必要的列讀取
RCfile是HIVE的列式存儲,壓縮通常會非常高效,公司這邊,可以達到12倍的壓縮比,字段特別多的非常適用。
hive的代碼提供了源碼
cd $HIVE_HOME
$ find . -name "RCFile*"
./src/cli/src/java/org/apache/hadoop/hive/cli/RCFileCat.java
hive提供了一個rcfilecat工具來展示RCFile文件內容:
hive --service rcfilecat /xxxxxxxxxxxxxxxxxxxxxxxxxxx/000000_0