我正在尝试在我的 cassandra 数据库中进行查询。我想检索位于 superColumn 中的单个列中的数据,该列位于 superColumn 中……有点复杂,但我需要它来对我的数据库进行建模。
我使用了 Hector 的文档:http ://www.datastax.com/sites/default/files/hector-v2-client-doc.pdf
但是,当我尝试阅读单列时,此文档旨在使用此方法:
<code>ColumnQuery<String, String, String> columnQuery =
HFactory.createStringColumnQuery(keyspace);
columnQuery.setColumnFamily("Standard1").setKey("jsmith").setName("first");
Result<HColumn<String, String>> result = columnQuery.execute(); </code>
但是,什么是“结果”?我在 google 上搜索,我发现结果是一个对象 Result,但我有所有的库,没有人知道这个对象。
我用 QueryResult 替换了 Result,但是,当我启动我的主类时,我收到了这个错误:
me.prettyprint.hector.api.exceptions.HInvalidRequestException:在 me.prettyprint.cassandra.service.ExceptionsTranslatorImpl.translate(ExceptionsTranslatorImpl.java:45) 在 me.prettyprint 中的 InvalidRequestException(为什么:supercolumn 参数对于超级 CF Super2 不是可选的)。 cassandra.service.KeyspaceServiceImpl$23.execute(KeyspaceServiceImpl.java:851) 在 me.prettyprint.cassandra.service.KeyspaceServiceImpl$23.execute(KeyspaceServiceImpl.java:1) 在 me.prettyprint.cassandra.service.Operation.executeAndSetResult(Operation. java:103) 在 me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:258) 在 me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(KeyspaceServiceImpl.java:131) 在 me.prettyprint.cassandra.service .KeyspaceServiceImpl。getColumn(KeyspaceServiceImpl.java:857) 在 me.prettyprint.cassandra.model.thrift.ThriftColumnQuery$1.doInKeyspace(ThriftColumnQuery.java:57) 在 me.prettyprint.cassandra.model.thrift.ThriftColumnQuery$1.doInKeyspace(ThriftColumnQuery.java: 1) 在 me.prettyprint.cassandra.model.ExecutingKeyspace.doExecute(ExecutingKeyspace.java:85) 在 me.prettyprint.cassandra.model.thrift 在 me.prettyprint.cassandra.model.KeyspaceOperationCallback.doInKeyspaceAndMeasure(KeyspaceOperationCallback.java:20) .ThriftColumnQuery.execute(ThriftColumnQuery.java:52) at com.riptano.cassandra.hector.example.InsertSuperColumn.main(InsertSuperColumn.java:74) org.apache.cassandra.thrift.Cassandra$get_result.read(Cassandra.java:5930) 在 org.apache.cassandra.thrift.Cassandra$Client.recv_get(Cassandra.java:505) 在 org.apache.cassandra.thrift.Cassandra $Client.get(Cassandra.java:490) 在 me.prettyprint.cassandra.service.KeyspaceServiceImpl$23.execute(KeyspaceServiceImpl.java:846) ... 11 更多
当我关注导致此错误的行时,它的行:
**QueryResult<HColumn<String, String>> result5 = result3.execute();**
我将 Result 替换为 QueryResult。
请问我该如何解决?