スーパーまたは通常のカサンドラ列ファミリーでネストされた列を使用できるかどうかを確認しようとしています。私は隅々まで見ましたが、私が探しているものを完全には見ていません。
私はこのようなことをしたいと思っています。
`[{ firstname: "Me",
lastname: "Smith",
HomeAddress: { Street: "1234 Any Place Dr"
,State: "IL"
,zip: "62024"
}
}]`
次の投稿からメタデータを含むスーパー カラムの Cassandra スキーマを作成する
似たようなものを見つけましたが、思ったように機能していません。
create column family users
with comparator = UTF8Type
and compression_options = { sstable_compression:SnappyCompressor, chunk_length_kb:64}
and column_metadata = [
{ column_name: FirstName, validation_class : UTF8Type}
{ column_name: LastName, validation_class : UTF8Type},
{ column_name: FavStore, validation_class : IntegerType}
, { column_type: super, column_name: HomeAddress }
];
列ファミリーの作成方法を示すコードを次に示します。
作成しますが、上記の JSON の例のようにアドレスを入力すると、機能しないようです。
CLIからリストを作成したときの出力は次のとおりです。
RowKey: 646f68616c6c
=> (column=FavStore, value=59580595188280, timestamp=1330696438)
=> (column=Favorites, value=HASH(0x3618bc0), timestamp=1330696438)
=> (column=FirstName, value=Me, timestamp=1330696438)
=> (column=HomeAddress, value=HASH(0x3618b30), timestamp=1330696438)
=> (column=LastName, value=Smith, timestamp=1330696438)
Home Address から値を取得しようとしても、何も得られません。どうやら空っぽのようです。私はいくつかの perl コードからそれを引っ張ってきました。ハッシュはそれが空白であることを示しています。
これが可能であるかどうか、またそうでない場合は、サブ列を列ファミリーに追加するための最良の方法は何かと思います。それとも、間違った木を吠えているだけですか。
どんな情報でも大歓迎です。