0

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

谢谢!码头

4

1 回答 1

1

在 caseSliceQuery<K, C, V>中,这里是类型参数:

K -- 密钥的类型

C -- 列名的类型

V -- 列值的类型

同样在 的情况下HColumn<N,V>,类型参数是

N -- 列名的类型

V -- 列值的类型

类似的情况createSliceQuery

于 2013-05-09T05:01:11.863 回答