在cassandra hector中读取复合列的查询
我需要根据行键读取cassandra列族中的所有值。 我只得到一排钥匙。我想查询列族中的所有键 列族的模式 rowKey是字符串,值在列名中,如date:subject:marks i、 e在db 2013-04-13 00:00:00 UTC中这样保存,科学,99表示rowkey=1 像这样努力在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
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