我怎样才能从cassandra和hector那里得到反列的值?

我怎样才能从cassandra和hector那里得到反列的值?,cassandra,hector,Cassandra,Hector,你好,我正在用赫克托从卡桑德拉那里获取数据。 有两种方法可以做到这一点 一个是cqlQuery,如下所示: CqlQuery<String, String, Long> cqlQuery = new CqlQuery<String, String, Long>(connect.tutorialKeyspace, stringSerializer, stringSerializer, longSerializer); cqlQuery.setQuery("selec

你好,我正在用赫克托从卡桑德拉那里获取数据。 有两种方法可以做到这一点

一个是cqlQuery,如下所示:

CqlQuery<String, String, Long> cqlQuery = new CqlQuery<String, String, Long>(connect.tutorialKeyspace, stringSerializer, stringSerializer, longSerializer);
    cqlQuery.setQuery("select home from page_view_counts where KEY ="localhost");

    QueryResult<CqlRows<String, String, Long>> result;
    try
    {
        result = cqlQuery.execute();
    }
    catch(HectorException e){
        result = null;
        message = e.getMessage();
    }
CqlQuery-CqlQuery=新的CqlQuery(connect.tutorialKeyspace、stringSerializer、stringSerializer、longerializer);
setQuery(“从页面选择主页,其中KEY=“localhost”);
查询结果;
尝试
{
结果=cqlQuery.execute();
}
捕获量(公顷除外){
结果=空;
message=e.getMessage();
}
毫无疑问,它应该是这样的,但我无法让它工作:

SliceQuery<String, String, Long> query = HFactory.createSliceQuery(connect.tutorialKeyspace, stringSerializer,stringSerializer,longSerializer); 
    QueryResult<ColumnSlice<String, Long>> result2 = query.setColumnFamily("page_view_counts").setKey("localhost").setColumnNames("home").execute();
SliceQuery query=HFactory.createSliceQuery(connect.tutorialKeyspace、stringSerializer、stringSerializer、longerializer);
QueryResult result2=query.setColumnFamily(“页面视图计数”).setKey(“本地主机”).setColumnNames(“主页”).execute();

哪里会出错?

您的示例不完整,您没有给出失败的迹象。但从代码来看,有一些地方出错:类型、参数不正确,您需要使用特定的计数器类型,如果只获得一列,则不需要切片。此示例应能工作:

CounterQuery<String, String> query = HFactory.createCounterColumnQuery(keyspace, stringSerializer,stringSerializer);
query.setColumnFamily("page_view_counts").setKey("localhost").setName("home");
HCounterColumn<String> counter = query.execute().get();
System.out.println("Count:" + counter.getValue());
CounterQuery query=HFactory.createCounterColumnQuery(键空间、stringSerializer、stringSerializer);
query.setColumnFamily(“页面视图计数”).setKey(“本地主机”).setName(“主页”);
HCounterColumn计数器=query.execute().get();
System.out.println(“Count:+counter.getValue());
如果确实需要切片,则从HFactory.createSliceCounterSliceQuery()返回的结果将是

QueryResult
其中将包含

HCounterColumn<String>
hcounter列

使用ColumnFamilyTemplateAPI可能是轻松入门的最佳方式。请参阅:(上面提到的part或hector-client.org).

我的第一个示例执行得很好。第二个示例导致空指针错误。但现在它可以工作了。我发现很难找到关于hector的示例或好的文档。你知道一个好的站点吗?至少谢谢,请参阅文档选项卡。Javadocs(API选项卡)是lite,但是如果您从HFactory类开始,您可以浏览方便的方法以获得提示。谢谢,我会查看并尝试它。好的,我已经尝试过了,但找不到更新/读取计数器列的方法。我也不明白“ColumnFamilyTemplate”与“ColumnFamilyUpdater”和序号之间的区别y“Mutator”或“Slice/Range/Counter/Query”(等)这两种方法速度一样快吗?
HCounterColumn<String>