получение данных из cassandra с помощью предложений

#php #cassandra #phpcassa

#php #cassandra #phpcassa

Вопрос:

Есть ли какой-либо способ получить данные из cassandra с помощью phpcassa предложений a?

Мне нужно выбрать все строки, где sum<10 . Например, функция в phpcassa get_range() выбирает только строки, которые равны определенным значениям.

Комментарии:

1. я нашел решение, которое необходимо использовать cassandra_IndexOperator при создании индексного выражения wiki.apache.org/cassandra/API

Ответ №1:

Обычно в PHPCassa используются индексы:

Согласно http://thobbs.github.com/phpcassa/tutorial.html // немного улучшено:

 <?php
$column_family = new ColumnFamily($conn, 'Indexed1');
$index_exp_eq = CassandraUtil::create_index_expression('gender', 'male', $op='EQ');
$index_exp_gt = CassandraUtil::create_index_expression('sum', 10, $op='GT');
$index_clause = CassandraUtil::create_index_clause(array($index_exp_eq, $index_exp_gt));
$rows = $column_family->get_indexed_slices($index_clause);
// returns an Iterator over:
//    array('winston smith' => array('birthdate' => 1984))

foreach($rows as $key => $columns) {
    // Do stuff with $key and $columns
    Print_r($columns)
}
?>
  

В вашем сценарии вы не можете просто иметь одно индексное выражение с суммой<10 … У вас должно быть первое индексное выражение с оператором EQ и последующие индексные выражения с другими операторами.

Комментарии:

1. но если у a нет ни одного столбца, равного любым данным, которые у меня есть?