Столбец Caasandra PRIMARY KEY «пользователь» не может быть ограничен, так как предыдущий столбец «тип события» не ограничен - PullRequest
0 голосов
/ 23 октября 2018

Таблица, которую я разработал, находится под единицей

create table userevent(id uuid,eventtype text,sourceip text,user text,sessionid text,roleid int,menu text,action text,log text,date timestamp,PRIMARY KEY (id,eventtype,user));

 id                                   | eventtype | user    | action | date                     | log      | menu      | roleid | sessionid | sourceip
--------------------------------------+-----------+---------+--------+--------------------------+----------+-----------+--------+-----------+--------------
 b15c6780-d69e-11e8-bb9a-59dfa00365c6 |  DemoType |    Aqib |  Login | 2018-10-01 04:05:00+0000 |  demolog |  demomenu |      1 |    Demo_1 | 121.11.11.12
 95df3410-d69e-11e8-bb9a-59dfa00365c6 |  DemoType |    Aqib |  Login | 2018-09-30 22:35:00+0000 |  demolog |  demomenu |      1 |    Demo_1 | 121.11.11.12
 575b05c0-d69e-11e8-bb9a-59dfa00365c6 |  DemoType |    Aqib |  Login | 2018-10-01 04:05:00+0000 |  demolog |  demomenu |      1 |    Demo_1 | 121.11.11.12
 e6cbc190-d69e-11e8-bb9a-59dfa00365c6 | DemoType3 |   Jasim |  Login | 2018-05-31 22:35:00+0000 | demolog3 | demomenu3 |      3 |    Demo_3 | 121.11.11.12
 d66992a0-d69e-11e8-bb9a-59dfa00365c6 |  DemoType | Shafeer |  Login | 2018-07-31 22:35:00+0000 |  demolog |  demomenu |      2 |    Demo_2 | 121.11.11.12

Но когда я запрашиваю, как показано ниже,

select * from userevent where user='Aqib'; 

Это показывает что-то вроде этого: InvalidRequest: Error from server: code=2200 [Invalid query] message="PRIMARY KEY column "user" cannot be restricted as preceding column "eventtype" is not restricted"

В чем ошибка ...........

1 Ответ

0 голосов
/ 23 октября 2018

Вам необходимо прочитать о моделировании данных для Cassandra или, например, пройти курс DS220 в Академии DataStax .Каждая строка имеет первичный ключ, состоящий из ключа раздела, который определяет, на каком узле расположены данные, и ключей кластеризации, которые определяют размещение внутри раздела.В вашем случае ваш первичный ключ состоит как минимум из id, eventtype, user.Чтобы наложить условие на пользователя, вам нужно указать и id, и eventtype.

. Вы можете добавить индекс или материализованное представление для доступа только к user, но я рекомендую больше узнать о моделировании данных.сначала - определите ваши запросы, а затем создайте структуры таблиц о запросах, которые вам нужно выполнить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...