ORC Encoding
ORC (Optimized Row Columnar) ist das von Hive genutzte spaltenorientierte Speicherformat; seine Kodierungsschicht kombiniert Wörterbuchkodierung, RLE, Bit-Packing und Stripe-Indizes.
Zweck
Es bietet hohe Kompression und Scan-Beschleunigung durch Predicates-Pushdown im Hive/Spark-Ökosystem.
Mechanismus
Daten werden in Stripes (standardmäßig 64 MB) geteilt, und jede Spalte in einem Stripe wird separat kodiert: Strings nutzen Wörterbuch + RLE, Ganzzahlen Bit-Packing + RLE, und leichtgewichtige Indizes (min/max/bloom) unterstützen Predicate-Pushdown.
Anwendungsfälle
- Spaltenorientierter Hive-Speicher
- Spark-Datenlesevorgänge
- Hadoop-Data-Lakes