コンテンツへスキップ
uencoder

Avro Encoding

Avro エンコーディングは Apache Avro が使うバイナリシリアライズ方式であり、Binary と JSON の両エンコーディングをサポートし、スキーマはデータと一緒に送るか事前に登録する。

目的

Hadoop や Spark のエコシステム向けに、コンパクトでスキーマ対応の行指向シリアライズを提供し、RPC と保存の双方に適する。

メカニズム

Binary エンコーディングはスキーマの順序でフィールドを書き込む。int/long は ZigZag 付き Varint、string は長さ接頭辞付き UTF-8、record は再帰的にエンコードされる。スキーマはレコードごとには送られない(事前登録または一度だけ送信)。

ユースケース

  • Kafka メッセージのシリアライズ
  • Hadoop でのデータ交換
  • RPC によるデータ転送

関連ツール

References