私が受け取るprotobufメッセージ 'sessionproto'には再帰的なフィールドがあります。再帰的構造のためのカサンドラのデータモデル
itemrelationprotoはitemgroupprotoを参照し、itemgroupprotoはitemrelationprotoを参照します。
このデータを格納するためにCassandraにデータモデルを定義するにはどうすればよいですか?
ありがとうございました。
message itemrelationproto {
optional string id = 1;
optional itemgroupproto itemgroup = 2;
}
message itemgroupproto {
optional string id = 1;
optional string displayname = 2;
repeated itemrelationproto itemrelations = 3;
}
message sessionproto {
optional string sessionid = 1;
optional string displayname = 3;
repeated itemrelationproto itemrelations = 4;
}
create type itemrelationproto (
id text,
itemgroup frozen<itemgroupproto>
);
create type itemgroupproto (
id text,
displayname text,
itemrelations set<frozen<itemrelationproto>>
);
create table sessionproto (
sessionid text,
displayname text,
itemrelations set<frozen<itemrelationproto>,
primary key (sessionid)
);
protobufメッセージをバイト配列に変換し、それらをbandleとしてcassandraに格納することができます。 –