Avroは、Apache Hadoop用のデータ・シリアライゼーションとデータ交換のサービスを提供するオープンソース・プロジェクトです。これらのサービスは、一緒に使用することも、個別に使用することもできます。
Avroでは、あらゆる言語で書かれたプログラム間でビッグデータを容易に交換できます。シリアライゼーション・サービスを使用すると、プログラムではデータをファイルやメッセージに効率的にシリアライズできます。データ・ストレージはコンパクトで効率的です。Avroでは、データ定義とデータの両方を1つのメッセージまたはファイルにまとめて保管します。
Avroではデータ定義をJSON形式で保管しているため、読み取りや解釈が簡単です。データ自体はバイナリー形式で保管されるため、コンパクトで効率的です。Avroファイルにはマーカーが含まれており、大容量のデータ・セットをApache MapReduceでの処理に適したサブセットに分割する際に使用できます。データ交換サービスによっては、コード・ジェネレーターを使用して、データ定義を解釈し、データにアクセスするためのコードを生成する場合があります。Avroではこの手順が必要ないため、スクリプト言語に最適です。
Avroの主要な機能は、時間の経過とともに変化する(多くの場合、スキーマ進化と呼ばれる)データ・スキーマの堅牢なサポートです。Avroは、フィールドの欠落、フィールドの追加、フィールドの変更といったスキーマの変更を処理します。その結果、古いプログラムが新しいデータを読み取り、新しいプログラムが古いデータを読み取ることができます。AvroにはJava、Python、Ruby、C、C++などのAPIが含まれています。Avroを使用して保管されたデータは、異なる言語で書かれたプログラムからの受け渡しが可能で、Cなどのコンパイル済み言語から、Apache Pigなどのスクリプト言語へも受け渡すこともできます。
チームが責任あるAIを加速するのに役立つ構成要素とベスト・プラクティスについて説明します。
IDCレポートを読む