コンテンツへスキップ
uencoder

ORC Encoding

ORC(Optimized Row Columnar)はHiveで使われる列指向ストレージ形式である。符号化レイヤーは辞書符号化、RLE、ビットパッキング、ストライプインデックスを組み合わせる。

目的

Hive/Sparkエコシステムで高い圧縮率と述語プッシュダウンによるスキャン高速化を提供する。

メカニズム

データはストライプ(デフォルト64MB)に分割され、ストライプ内の各列は個別に符号化される。文字列は辞書+RLE、整数はビットパッキング+RLEを使い、軽量インデックス(min/max/bloom)が述語プッシュダウンを支える。

ユースケース

  • Hiveの列指向ストレージ
  • Sparkでのデータ読み取り
  • Hadoopのデータレイク

関連ツール

References