Avro メモ
- Avro の記述仕様は「Specification」の項にある。
- いわゆる構造体以外にも RPC の外形を記述できて、まとめて protocol と呼んでいる。
- AVDL : DSL として json でない新しい記述方式が追加された。
- ドキュメントは「IDL language」の項にある。
- 人が手で記述してメンテナンスするのに適している。
- AVPR : AVDL の json 版
- AVDL を記述して、そこから AVPR を生成するワークフローが想定されいるようだ
- AVSC : AVRO 構造体を記述する JSON ファイル。AVPR の一部分とも言える。
- json である。
- json-schema と類似している。json-schema と比べて表現力は小さいが、同時に不安定さも少ない。
- json-schema との相互変換は、当然期待される
- 制限事項もある https://github.com/fge/json-schema-avro
- シリアライザとは分離されている。avro binary シリアライザと同様に json シリアライザも標準的に視野に入っている。
- protobuf のようなバージョン互換性の強制力はない。ベストプラクティスはある。
- confluent suite では schema-registry で使われる。
- 構造体ごとに別の avsc にすることが多いが、仕様上は配列に格納した 1 ファイルでも良い。
- 別ファイルにする理由は、バリデータの情報元としてコードでファイル名指定する用途があるため
- binary serializer
- Container は schema と data を一列に並べてエンコードできる。
- https://www.slideshare.net/seiyamizuno35/serialization-systems
avro-tools
さまざまな形式のファイルが入り乱れるので、コマンドごとに何を扱っているのか意識して使う。
- avro-tools idl
- AVDL から AVPR に変換する
- avro-tools idl2schemata
- 格納されているスキーマから avsc ファイルを生成する
- avsc 1 ファイルで検証ができるようにネストされた構造体は展開された状態になる
- 展開されたファイルを手でメンテナンスするのは適していない
Author And Source
この問題について(Avro メモ), 我々は、より多くの情報をここで見つけました https://qiita.com/kwi/items/9553e3946c1983fcbe2f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .