Кассандра: Как запросить первичный ключ, используя математические операторы, такие как>, <который имеет тип text? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть таблица в Cassandra, чей первичный ключ типа text (string) и хранит только цифры.Теперь я хочу выполнить CQL-запрос для этого столбца, используя математические операторы, такие как ><.Есть идеи, как этого добиться?

select * from ynapanalyticsteam.df_tran_order_info where order_header_key>'2018';

1 Ответ

0 голосов
/ 22 мая 2018
  1. почему вы сохраняете его как текст, поскольку ваши значения являются числами?

  2. У Кассандры есть несколько важных понятий: ключ разделения и ключ кластеризации.

Допустим, у вас есть такая таблица:

TABLE A (
  ...,
  PRIMARY KEY ((pk1, pk2), ck1, ck2, ck3, ck4, ck5)
)

pk1 и pk2 - ключи разделения, и ваш запрос должен включать их с использованием =.Ключ разделения, который используется для определения узлов, к которым относятся данные.

Кластерные столбцы (ck1, ck2, ..., ck5) используются для упорядочения данных и добавления некоторой другой фильтрации с использованием =, <> операторы.Столбцы кластеризации используются для управления тем, как данные сортируются в разделе.

Вам необходимо изменить модель данных, чтобы order_header_key был ключом кластеризации, а другой столбец - ключом раздела.

...