我正在尝试使用Thrift 1.0 lib检索Cassandra中一行的所有列。我在谷歌搜索中找到了一些例子,特别是:
SliceQuery<String, String, String> sliceQuery = hectorTemplate.createSliceQuery(
StringSerializer.get(), StringSerializer.get(), StringSerializer.get());
sliceQuery.setColumnFamily("myname");
sliceQuery.setKey("myid");
sliceQuery.setRange(null, null, false, 20);
QueryResult<ColumnSlice<String,String>> queryResult = sliceQuery.execute();
ColumnSlice<String,String> slice = queryResult.get();
List<HColumn<String, String>> retrievedColumns = slice.getColumns();
for (HColumn<String, String> column : retrievedColumns) {
System.out.println(column.getName() +"::"+ column.getValue());
}
但是,我找不到任何有关Hector对象中的参数和类型的信息?
例如,在这里:
SliceQuery<String, String, String>
然后,我们为createSliceQuery()指定参数:
hectorTemplate.createSliceQuery(
StringSerializer.get(), StringSerializer.get(), StringSerializer.get());
再次 - 那些序列化器是什么?为什么只有3个序列化器 - 如果是第一列和最后一列,还有其他什么?如果我得到很多列,如何为它们指定序列化器呢?
然后,我们检索
List<HColumn<String, String>>
- 再次,这些String类型是什么? 如果我有一个BytesType类型的列 - 我在哪里指定?
如果有一些不错的API文档(不仅仅是方法签名而且没有解释它们的参数是什么) - 你能指点我吗?
谢谢! 码头
答案 0 :(得分:1)
如果是SliceQuery<K, C, V>
,则以下是类型参数:
K - 密钥的类型
C - 列名的类型
V - 列值的类型
同样在HColumn<N,V>
的情况下,类型参数是
N - 列名称的类型
V - 列值的类型
与createSliceQuery