在cassandra hector中读取复合列的查询

在cassandra hector中读取复合列的查询,cassandra,hector,Cassandra,Hector,我需要根据行键读取cassandra列族中的所有值。 我只得到一排钥匙。我想查询列族中的所有键 列族的模式 rowKey是字符串,值在列名中,如date:subject:marks i、 e在db 2013-04-13 00:00:00 UTC中这样保存,科学,99表示rowkey=1 像这样努力 Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "localhost:9160"); Keyspace keyspa

我需要根据行键读取cassandra列族中的所有值。 我只得到一排钥匙。我想查询列族中的所有键

列族的模式

rowKey是字符串,值在列名中,如date:subject:marks i、 e在db 2013-04-13 00:00:00 UTC中这样保存,科学,99表示rowkey=1

像这样努力

  Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "localhost:9160");
  Keyspace keyspaceOperator = HFactory.createKeyspace(student, cluster);
  System.out.println( "Connected to cassandra " + cluster);
  String rowKey = "1";


  SliceQuery<String,String,String> columnQuery = HFactory.createSliceQuery(keyspaceOperator, StringSerializer.get(), StringSerializer.get(), StringSerializer.get());
  columnQuery.setColumnFamily("studentInfo").setKey(rowKey).setRange(null, null, false, 100);
  System.out.println(columnQuery);
  QueryResult<ColumnSlice<String,String>> result = columnQuery.execute();
  for (HColumn<String, String> column : result.get().getColumns()) {
    System.out.println(column.getName());
  }
Cluster Cluster=HFactory.getOrCreateCluster(“测试集群”,“本地主机:9160”);
Keyspace keyspaceOperator=HFactory.createKeyspace(学生,集群);
System.out.println(“连接到cassandra”+集群);
字符串rowKey=“1”;
SliceQuery columnQuery=HFactory.createSliceQuery(keyspaceOperator,StringSerializer.get(),StringSerializer.get(),StringSerializer.get());
columnQuery.setColumnFamily(“studentInfo”).setKey(rowKey).setRange(null,null,false,100);
System.out.println(columnQuery);
QueryResult result=columnQuery.execute();
for(HColumn列:result.get().getColumns()){
System.out.println(column.getName());
}

你能试试这个吗

      SliceQuery<String,String,String> columnQuery = HFactory.createSliceQuery(ksp, StringSerializer.get(), StringSerializer.get(), StringSerializer.get());
      columnQuery.setColumnFamily("studentInfo").setKey(rowKey).setColumnNames("id","name");
      QueryResult<ColumnSlice<String,String>> result = columnQuery.execute();
SliceQuery columnQuery=HFactory.createSliceQuery(ksp,StringSerializer.get(),StringSerializer.get(),StringSerializer.get());
columnQuery.setColumnFamily(“studentInfo”).setKey(rowKey).setColumnNames(“id”,“name”);
QueryResult result=columnQuery.execute();

是,这是可行的,但仅对一行,我无法遍历键空间中的所有行。。我的键空间中的列也没有标签。它们保存在列名称中,如
1 | 2013-04-01,science,96
您是指值为2013-04-01,science,96的单个列吗?在您的问题中,代码片段,您想知道与单个行键对应的结果。我没有完全理解整件事。需要澄清的是,这是我的应用程序“rowkey studentinfo 1 | 2013-04-01,科学,96 2 | 2013-04-01,科学,96 | 2013-04-02,数学,96 | 2012-04-03,英语,90”中的列族结构。我想逐行查询每一列的
rowkey studentinfo
1 | 2013-04-01,科学,96
2 | 2013-04-01,科学,96 | 2013-04-02,数学,96 | 2012-04-03,英语,90