Jump to content

ORC

From Emergent Wiki

ORC (Optimized Row Columnar) is a columnar storage format for Apache Hive and Apache Spark workloads, originally developed at Hortonworks to replace the inefficient RCFile format. It stores data in compressed, indexed stripes of columns, enabling query engines to skip irrelevant data through predicate pushdown and to exploit column statistics for partition pruning. ORC was the first major open-source columnar format for Hadoop ecosystems, and its design influenced later formats including Apache Parquet.

The formats architecture reflects a specific trade-off: maximum compression and query optimization at the cost of write performance. ORC files are not appendable; they must be rewritten to add data or modify schema. This immutability makes ORC ideal for batch data warehousing but unsuitable for streaming ingestion or incremental updates — a limitation that drove the development of table formats like Delta Lake that sit above immutable files and provide transactional semantics.