Microsoft Avro ライブラリのリリースのお知らせ
このポストは、4 月 14 日に投稿された Announcing release of Microsoft Avro Library の翻訳です。
このたび、マイクロソフトは Microsoft Avro ライブラリをリリースしました。このライブラリはマイクロソフト社内の複数のチームが共同で開発したもので、Azure HDInsight サービスおよびオープン ソース コミュニティに対する Avro のシリアル化フォーマットを、完全かつ高パフォーマンスな形で .NET に実装します。
今回のリリースのダウンロード
Avro ライブラリは、NuGet ギャラリーから入手できます。Visual Studio では、NuGet ギャラリーからダウンロードするか、NuGet Package Manager で次の文を実行すると、パッケージのインストールまたは更新が可能です。
Install-Package Microsoft.Hadoop.Avro
(コマンドの詳細はこちら、英語)
ソース コードは、Apache 2.0 のライセンスに基づいて CodePlex (英語) から入手できます。
Apache Avro
Apache Avro では、Thrift や Protocol Buffers と同様に、コンパクトなバイナリ データ シリアル化フォーマットを提供しますが、それ以外に、Hadoop などの分散処理環境への適応性を高める追加機能も利用できます。Avro ライブラリを使用すると、Apache Avro のデータ シリアル化の仕様を .NET 環境に実装できます。
サポートされる機能
Avro ライブラリは、インメモリの式ツリーを構築することで、任意の種類のストラクチャをシリアル化します。インメモリの式ツリーは、この特殊なシリアライザーがネイティブなパフォーマンスを発揮できるように、IL コードにコンパイルされます。
このライブラリでは、次のモードがサポートされます。
- リフレクションモード : シリアライザーの IL コードは、.NET のスキーマの種類に基づいて、パフォーマンスが最大化されるように構築されます。
- 汎用レコードモード : データの JSON スキーマは実行時に指定可能なため、任意のスキーマで動的データの処理に対応できます。
- コンテナーモード : このライブラリでは、組み込みのスキーマを使用してポータブル ファイルを生成できます。ファイル形式は Avro のコンテナー ファイルの仕様と互換性があり、各種プラットフォームで使用可能です。
サンプル コード
以下は、Avro ライブラリを使用してシリアル化および逆シリアル化を行う場合のサンプルです。
関連資料
下記のドキュメントでは、詳細な情報やサンプルをご覧いただけます。