本文へスキップ

Apache Avroとは?

あぱっちあぶろ

Apache Avroとは、Hadoopエコシステムで広く使われるデータシリアライズフレームワークで、コンパクトなバイナリ形式と柔軟なスキーマ管理が特徴です。

Apache Avroは、Apache Software Foundationが開発するオープンソースデータシリアライズシステムです。シリアライズとは、プログラム内のデータ構造をネットワーク転送やストレージ保存に適したバイト列へ変換する処理のことです。

Avroの最大の特徴は、データのスキーマ(型や構造の定義)をJSON形式で記述し、データ本体と一緒に保持する点にあります。これにより、スキーマが変化しても後方互換・前方互換を保ちながらデータを読み書きできます。転送時はスキーマなしのコンパクトなバイナリ形式となるため、転送量を大幅に削減できます。

主な特徴をまとめると以下のとおりです。

  • スキーマをJSONで定義し、データと同梱できる
  • バイナリ形式による高い圧縮効率と処理速度
  • スキーマ進化(フィールドの追加・削除)に対応
  • 多言語対応(Java、Python、C、C++、C#、Rubyなど)
  • Apache Kafka・Hadoop・Sparkなどと親和性が高い

特にApache Kafkaとの組み合わせが広まっており、Schema Registryを用いてスキーマを一元管理しながら大量のイベントデータを効率よく扱うアーキテクチャが普及しています。プロトコルバッファ(Protocol Buffers)やApache Thriftと並ぶデータシリアライズ標準の一つとして、データエンジニアリングの現場で幅広く採用されています。

使い方・例文

KafkaでユーザーのクリックイベントをAvroフォーマットで送受信し、HadoopのHDFSにそのままAvroファイルとして蓄積してHiveで分析する、といった場面で登場します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語