По вашей схеме, каждый пользователь будет иметь один штамп времени. Если вы хотите, одно событие в записи, рассмотреть следующие вопросы:
PRIMARY KEY (id, unixtime).
Если предположить, что ваша схема, записи для пользователя будут храниться в возрастающем порядке UnixTime. Будьте осторожны, хотя ... если это неограниченный поток событий, и у пользователей много событий, раздел для id будет расти и расти. Рекомендуется хранить размеры разделов до десятков или сотен мегабайт. Если вы ожидаете большего, вам нужно начать какую-то форму bucketing.
Теперь, на ваш запрос. Одним словом, нет. Если вы не нажмете раздел (указав ключ раздела), ваш запрос станет широкомасштабным. С небольшими данными он будет работать. Но с большим количеством данных вы получите тайм-ауты. Если у вас есть данные в его текущей форме, я рекомендую вам использовать коннектор Cassandra Spark и Apache Spark для выполнения вашего запроса. Дополнительным преимуществом искрового подключения является то, что если у вас есть узлы cassandra как узлы искровых рабочих органов, из-за локальности вы можете эффективно ударить вторичный индекс без указания ключа раздела (который обычно вызывает запрос с широким диапазоном с проблемами тайм-аута и т. Д.). Вы даже можете использовать Spark, чтобы получить требуемые данные и сохранить их в другой таблице cassandra для быстрого запроса.
Благодарим вас за ответ. Я считаю, что есть недоразумение: 'id' является уникальным идентификатором для события, но это поле' u', которое содержит идентификатор пользователя. Так что, может быть, вы хотели бы предложить «PRIMARY KEY (u, unixtime)»? – fstab
К сожалению, даже после создания «PRIMARY KEY (u, unixtime)» после запуска запроса 'select u, unixtime из событий ORDER BY u, unixtime;' Я получаю ошибку 'code = 2200 [Invalid query] message =" ORDER BY поддерживается только тогда, когда ключ раздела ограничен EQ или IN. »« Любая идея о том, почему это происходит? Благодаря! – fstab
Yup ... упорядочение осуществляется путем группирования столбцов. Поэтому вам нужно попасть в раздел. Если это отчет, используйте Spark, как я рекомендовал выше. – ashic