本文へスキップ

Apache ORCとは?

あぱっちおーあーるしー

Apache ORCとは、Hadoopエコシステム向けに設計された列指向の高効率ファイルフォーマットで、大規模データの圧縮・高速処理に優れています。

Apache ORC(Optimized Row Columnar)は、Apache Software Foundationが管理するオープンソースの列指向バイナリファイルフォーマットです。もともとApache HiveのパフォーマンスとスケーラビリティをApache RCFileよりも向上させることを目的に開発されました。

ORCファイルの主な構造的特徴は次のとおりです。

  • 列指向ストレージ:データを行単位ではなく列単位で格納するため、特定の列だけを読み込む分析クエリに適しています。
  • ストライプ構造:データはストライプ(デフォルト250MB)単位に分割され、各ストライプ内で列データ・インデックス・フッターが管理されます。
  • 組み込み圧縮:ZLIB・Snappy・LZ4などの圧縮コーデックを選択でき、ストレージコストを大幅に削減します。
  • 述語プッシュダウン:クエリの絞り込み条件をファイル読み込み段階で適用し、不要なデータをスキップできます。

Apache Hive・Apache Spark・Apache Flink・Prestoなど主要なビッグデータ処理エンジンがORCをサポートしており、Parquetと並んでデータレイクで広く採用されるフォーマットです。特にHiveとの親和性が高く、トランザクション(ACID)機能もサポートしています。

使い方・例文

数百GBのログデータをORCフォーマットで保存することで、Hiveクエリで必要な列だけを高速に読み取り、ストレージ容量とクエリ時間の両方を削減できます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語