FORMAT COMPARISON
Avro vs ORC
Avroはスキーマ付きレコードの連携に、ORCは型情報を持つ列指向データの分析保存に使われます。
AvroとORC、どちらを選ぶ?
レコード単位のデータ連携にはAvro、Hadoop系などの分析基盤で列単位に読むデータにはORCを候補にします。
Avro向き
スキーマ付きレコードデータのシリアライズと交換
- イベントやレコードをスキーマとともに扱うデータ連携
ORC向き
Hadoop系分析基盤での列指向データ保存
- 型情報・索引を使う大規模な表形式データ分析
基本情報を比較
AvroとORCの主な違いを確認できます。
| 項目 | Avro | ORC |
|---|---|---|
| 拡張子 | .avro | .orc |
| MIME Type | application/avro | application/vnd.apache.orc |
| 主な用途 | スキーマ付きレコードデータのシリアライズと交換 | Hadoop系分析基盤での列指向データ保存 |
| 圧縮 | schema_serialization | columnar_data |
| 開く方法 | Avro対応ツールでスキーマ、フィールド、型、レコード内容を確認します。 | ORC対応の分析ツールでスキーマ、列、行数、圧縮、読み取り結果を確認します。 |
| 書き出し・変換 | JSONやParquetへ変換する場合は、フィールド名、型、null、論理型、スキーマ互換性を確認します。 | ParquetやCSVへ変換する際は、型、null、日時、decimal、パーティションの扱いを確認します。 |
用途別の選び方
作りたいものや使う場面から選べます。
イベントやレコードをスキーマとともに扱うデータ連携
スキーマ付きレコードデータのシリアライズと交換
Avro向き型情報・索引を使う大規模な表形式データ分析
Hadoop系分析基盤での列指向データ保存
ORC向き確認ポイント 1
Avroはレコードとスキーマを中心に扱う
使い分け確認ポイント 2
ORCは列指向と索引を使った分析読み取りを扱う
使い分け選ぶ理由を詳しく
- 必要な処理と利用基盤の対応で選ぶ