私はスーパーカラムファミリーを手に入れました:
Logger {
superKey : {
nameKey : {name1:val1, name2:val2, ..., name8945:val8945}
}
}
コードは次のとおりです。
ThriftSuperCfTemplate<String, String, String> stringKeyTemplate =
new ThriftSuperCfTemplate<String, String, String>
(keyspace, LOGGER_COLUMN_FAMILY,
StringSerializer.get(), StringSerializer.get(),
StringSerializer.get());
int count = stringKeyTemplate.countSubColumns(NAME_KEY, SUPER_KEY); //1
SuperCfResult<String, String, String> nameRow =
stringKeyTemplate.querySuperColumn(NAME_KEY, SUPER_KEY);
Collection<String> names = nameRow.getColumnNames(); //2
Assert.assertTrue(names.size()==count); //3
私がやろうとしているのは、nameKey 列ファミリーからすべての列名をフェッチすることですが、最初の 7 つの名前{name1, name2,..., name7}
(2 行目) のみを返しますが、count は返します8945
(1 行目)。そして、アサーションは3行目で失敗します...