コンテンツへスキップ
uencoder

Avro

Avro は Hadoop エコシステム由来の行指向バイナリシリアライズ形式であり、スキーマの埋め込みと外部参照の両方をサポートし、ビッグデータの保存や Kafka で使われる。

目的

ビッグデータやストリーム処理向けに、コンパクトでスキーマ対応のシリアライズを提供する。

メカニズム

データのエンコード時、スキーマはヘッダーへの埋め込みか外部のレジストリで管理される。フィールドタグがなく、スキーマがフィールド位置を特定するため、Protobuf よりコンパクトである。スキーマ進化(デフォルト値を伴うフィールドの追加と削除)をサポートする。行指向の保存は OLAP に適する。

ユースケース

  • Kafka メッセージのシリアライズ
  • Hadoop のファイル形式
  • Hive テーブルの保存
  • Confluent スキーマレジストリ

例

  • 入力
    schema + data
    Output
    Compact binary bytes

    Schema-aware encoding

よくあるエラー

Schema mismatch causes decoding errors
Manage schema versions with a Schema Registry

関連用語

References