我正在尝试使用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个序列化程序-第一列和最后一列是if,还有其他什么?如果我得到许多列,如何为它们指定序列化程序?
然后,我们找回
List<HColumn<String, String>>
--再说一遍,这些字符串类型是用来做什么的?如果我有一个bytestype类型的列-在哪里指定?
如果有一些像样的api文档(不仅仅是没有解释参数的方法签名),你能给我指一下吗?
谢谢!玛丽娜
1条答案
按热度按时间ruyhziif1#
万一
SliceQuery<K, C, V>
,类型参数如下:k——键的类型
c—列名的类型
v—列值的类型
如果是
HColumn<N,V>
,类型参数为n—列名的类型
v—列值的类型
类似于
createSliceQuery