2016-01-27 2 views
0

Я очень новичок в Cassandra. У меня есть одна таблица со следующими столбцами: CustomerId, Timestamp, Action, ProductId. Мне нужно выбрать CustomerId и с даты - по дате с использованием отметки времени. Я не знаю, как это сделать в cassandra, любая помощь будет оценена по достоинству.запрос cassandra для списка данных с использованием timestamp

ответ

1

Прежде всего, вы должны помнить, что вам следует планировать, какие запросы будут выполняться в будущем, и сделать таблицы в соответствии с ним. Если у вас есть ключи, как (CUSTOMERID, дата), то ваш запрос может быть, например:

SELECT * FROM products WHERE customerId= '1' AND date < 1453726670241 AND date > 1453723370048; 

Пожалуйста, см http://docs.datastax.com/en/latest-cql/cql/cql_using/useAboutCQL.html

+0

Привет Sabik спасибо за ваш запрос. –

+0

В случае, если мне нужно просмотреть набор клиентов в зависимости от идентификатора продукта, значит, какой запрос мне нужно использовать? –

+1

Cassandra не является реляционной базой, поэтому вы не можете выбрать все, что хотите. В этом случае вы должны указать идентификатор продукта как индекс и использовать команду allow filtering, но он работает так медленно. Существуют различные способы решения этой проблемы. Один из них - создайте несколько таблиц с разными первичными ключами и сохраните одни и те же данные в разных форматах. Выбирать только первичные ключи для броузера очень быстро, поэтому вы должны планировать свои будущие запросы и правильно делать таблицы. Напр. : costomerId -> date -> productId ИЛИ productId -> date -> customerId ... – Sabik

Смежные вопросы