Apache Avroシーケンス化と逆シーケンス化(Java実装)

722 ワード

2つの交流のようにお互いに理解できる言語を探して、国内では共通語で、国外では英語で通じることが多くて、2つのプロセス間の通信もみんなが理解できるデータフォーマットを探す必要があります.簡単なJSON、XMLのように、それは自己記述的なフォーマットで、XMLはSchemaの定義がありますが、まだ正式な JSON Schema 规范.効率を追求する场合、テキスト式のデータ交换フォーマットが要求を満たすことができないため、バイナリのGoogle ProtobufとApache Avroがある.Apacheの生态像Hadoopでは、Kafkaの中で自然にAvroを选ぶ.
AvroはC,C++,C#,Java,PHP,Python,Rubyなど多くの言語をサポートしています.JSONを使用してSchemaを定義し、ツールを使用してJavaなどの対応する言語のデータオブジェクトをSchemaから生成することができます. avro-tools.jar.は、プロセス間で言語間で透明にオブジェクト交換を実現することができる.
Java環境におけるAvroデータフォーマットのシーケンス化と逆シーケンス化を体験する.
Avro Schemaファイルはデータ生産と消費側の通信プロトコルである.Schemaによって対応するJavaオブジェクトを生成し、特定のJavaオブジェクトと交換したり、Javaオブジェクトを生成せずに純粋に  GenericRecord  インタラクション.操作データの簡単さのために,我々は通常,具体的なデータ伝送対象を生成する前の方式を採用する. 全文を読む>>