я пытаюсь делать запросы в моей cassandra db. Я хочу получить данные в одном столбце, который находится в суперстолбце, который находится в суперстолбце... немного сложно, но мне это нужно для моделирования моей базы данных.
Я использовал документацию Гектора: 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>
но что такое "Результат"? Я ищу в гугле, я нашел, что результатом является объект Result, но у меня есть все библиотеки и никто не знает этот объект.
Я заменяю Result на QueryResult, но когда я запускаю свой основной класс, я получаю эту ошибку:
me.prettyprint.hector.api.exceptions.HInvalidRequestException: InvalidRequestException (почему: параметр supercolumn не является обязательным для super CF Super2) в me.prettyprint.cassandra.service.ExceptionsTranslatorImpl.translate(ExceptionsTranslatorImpl.java:45) в me.prettyprint. 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.KeyspaceOperationCallback.doInKeyspaceAndMeasure(KeyspaceOperationCallback.java:20) в me.prettyprint.cassandra.model.ExecutingKeyspace .doExecute(ExecutingKeyspace.java:85) в me.prettyprint.cassandra.model.thrift.ThriftColumnQuery.execute(ThriftColumnQuery.java:52) в com.riptano.cassandra.hector.example.InsertSuperColumn.main(InsertSuperColumn.java:74) ) Вызвано: InvalidRequestException (почему: параметр supercolumn не является необязательным для super CF Super2) в org.apache.cassandra.thrift.Cassandra$get_result.read(Cassandra.java:5930) в org.apache.thrift.TServiceClient.receiveBase( TServiceClient.java:78) на org.apache.cassandra.thrift.Cassandra$Client.recv_get(Cassandra.java:505) на org.apache.cassandra.thrift.Cassandra$Client.get(Cassandra.java:490) на меня .prettyprint.cassandra.service.KeyspaceServiceImpl$23. execute(KeyspaceServiceImpl.java:846) ... еще 11
когда я фокусируюсь на строке, которая вызывает эту ошибку, это строка:
**QueryResult<HColumn<String, String>> result5 = result3.execute();**
где я заменяю Result на QueryResult.
Как я могу решить это, пожалуйста?