コンテンツへスキップ
uencoder

Avro Compact Encoding

Avro コンパクトエンコーディングは Avro のバイナリシリアライズ方式であり、型タグとコンパクトな値表現を用いて、JSON Avro よりはるかに小さくなる。

目的

Kafka や Hadoop で効率的な Avro シリアライズを提供する。スキーマはレコードごとに送らず、事前に登録しておく。

メカニズム

レコードはフィールド順にエンコードされる。int/long は zigzag と varint を組み合わせ、string は varint による長さと UTF-8、bytes は varint による長さと生バイト列、union は union のインデックスと値、配列やマップはブロック数と要素で表す。

ユースケース

  • Kafka Avro メッセージ
  • Hadoop のデータファイル
  • 効率的な RPC

関連ツール

References