私はhadoopでAVROを使用しています。しかし、私は大規模なデータ構造の直列化と(データクラス)へのメソッドの追加方法に懸念しています。Apache AVROはどのようにデータ構造をシリアル化(大)するのですか
例(http://blog.voidsearch.com/bigdata/apache-avro-in-practice/から取得)は、Facebookのユーザーのモデルを示しています。
{
"namespace": "test.avro",
"name": "FacebookUser",
"type": "record",
"fields": [
{"name": "name", "type": "string"},
...,
{"name": "friends", "type": "array", "items": "FacebookUser"}
]
}
アブロは、このモデルでfacebookuserの完全なソーシャルグラフをシリアル化していますか?答えがイエスであれば
[それは私が一人のユーザーをシリアル化したい場合は、シリアライズはとても上のすべてのそれの友人とその友人を含め、ん、ありますか?]
することは、私はむしろ友人のIDを格納したいです参照の代わりに、必要に応じていつでもアプリケーションで参照することができます。その場合、IDの代わりに実際の友達を返すメソッドを追加できるようにしたいと考えています。
生成されたAVRO Javaクラスをラップしてメソッドを追加するにはどうすればよいですか?私の理解AVROの最高に
は階層的ではない何かを格納するために構築されていません。
は、私が最初に最初quesionにお答えしようとしています