-1

如何使用 Hector API 在 Cassandra 中插入嵌套的超列(表示超列中的超列)。下面是简单超级列的代码,它工作正常。但我也想在其中添加一个超级列。

Mutator<String> mutator = HFactory.createMutator(keyspaceOperator, stringSerializer);
List<HColumn<String,String>> colsList = new ArrayList<HColumn<String,String>>();
colsList.add(HFactory.createStringColumn("name", "tarun"));
colsList.add(HFactory.createStringColumn("age", "25"));
mutator.insert("deviceId", CF_SUPER, HFactory.createSuperColumn("10000", 
               colsList,stringSerializer, stringSerializer, stringSerializer));
4

2 回答 2

3

在 Cassandra 中,您不能将 SuperColumn 放在另一个 SuperColumn 中。这不是 Hector 的限制,这正是 Cassandra 的实现方式。

当我第一次开始使用 Cassandra 时,我花了几个小时阅读数据模型的文本描述,我的眼睛呆滞了,我没有明白。然后我看到了一个图片表示并立即摸索它。看看:http ://www.javageneration.com/wp-content/uploads/2010/05/Cassandra_DataModel_CheatSheet.pdf

于 2012-04-05T17:17:54.363 回答
1

您不能将超级列放在另一个超级列中。您需要使用包含一组超级列的 SuperColumnFamily。请参阅在 Digg 设置 Cassandra 的其中一位出色的文章,以对数据模型进行很好的解释

于 2012-03-30T11:41:33.287 回答