В первом случае проблема заключается в том, что вы указываете метку времени с микросекундами, а Cassandra работает с миллисекундами - попробуйте удалить три последние цифры - .950
вместо .950000
(см. Этот документ для подробности). Временные метки хранятся в Cassandra как 64-битное число, а затем форматируются при печати результатов, используя формат, заданный параметрами datetimeformat
, равными cqlshrc
(см. doc ). Для дат без явного часового пояса требуется, чтобы часовой пояс по умолчанию был указан в cqlshrc
.
Что касается вашего вопроса о фильтрации данных - этот запрос будет работать только для небольших объемов данных, а при больших размерах данных, скорее всего, истечет время ожидания, так как ему потребуется сканировать все данные в кластере. Кроме того, данные не будут отсортированы правильно, потому что сортировка происходит только внутри одного раздела.
Если вы хотите выполнить такие запросы, то, возможно, Spark Cassandra Connector будет лучшим выбором, поскольку он может эффективно выбирать требуемые данные, а затем выполнять сортировку и т. Д. Хотя для этого потребуется гораздо больше ресурсов.
Я рекомендую пройти курс DS220 в Академии DataStax, чтобы понять, как моделировать данные для Cassandra.