Apache Avro
Apache Hadoopのためのデータ・シリアライゼーションおよびデータ交換のサービスを提供します。
Close up of hands contemporary website developer man typing and writing code for program website and working with partner in office.
Avroとは

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などのスクリプト言語へも受け渡すこともできます。


関連するソリューション

IBMからHadoopソリューションを使用して適切な素早い分析を実現する

IBMとClouderaは提携し、製品とサービスから成る統合エコシステムなど、エンタープライズ・グレードで業界最高レベルのHadoopディストリビューションを提供し、大規模な分析を迅速に行います。