我正在尝试使用 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 文档(不仅仅是方法签名,没有解释它们的参数是什么)——你能指点我吗?
谢谢!码头