2013-07-15 1 views
0

Мне нужно прочитать все значения в семействе столбцов cassandra в соответствии с ключом строки. Я получаю только один ключ строки. Я хочу запросить все ключи в семействе столбцов.Запрос на составные столбцы в cassandra hector

схема семейства колонки

RowKey является строкой и значение в самом, как дата имен столбцов: Тема: Знаки т.е. сохранены как это в БД 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()); 
    } 

ответ

0

вы можете попробовать это ???

 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(); 
+0

да это работает, но только для одной строки я не в состоянии перебрать все строки в пространстве ключей .. Кроме того, столбцы в моем ключевом пространстве не имеет метку, они сохраняются в именах столбцов, как '1 | 2013-04-01, science, 96' – Shalu

+0

Вы имеете в виду один столбец, значение которого аналогично 2013-04-01, science, 96 – abhi

+0

Также в вашем вопросе фрагмент кода вы хотите узнать результат, соответствующий одной строкеKey , Я не получаю все правильно. Необходимо уточнить – abhi