我一直在尝试查看是否可以在cassandra列族中嵌套列,无论是超级还是普通列。我已经看遍了,并没有完全看到我在找什么。在Cassandra的列族中创建一个子列
我想要做这样的事情。
`[{ firstname: "Me",
lastname: "Smith",
HomeAddress: { Street: "1234 Any Place Dr"
,State: "IL"
,zip: "62024"
}
}]`
从下面的帖子Create a Cassandra schema for a super column with metadata
我发现类似的东西,但它不工作我想要的方式。
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)
当我尝试和住址拉出值我什么也没得到。看起来它是空的。我从一些Perl代码中取出它,哈希告诉我它是空白的。
我想知道这是否甚至是可能的,如果它不是什么是最好的方法添加一个子列到列家庭。或者我只是在错误的树上吠叫。
任何信息将不胜感激。
感谢您的信息。我喜欢地址信息的JSON理念。我会给那一枪。 – 2012-03-07 16:52:49