how to perform “not in” filter in cql3 query select?

偶尔善良 提交于 2019-12-19 05:54:48

问题


I need to fetch rows without specific keys. for sample:

 select * from users where user_id not in ("mikko");

I have tried with "not in" and this is the response:

Bad Request: line 1:35 no viable alternative at input 'not'

回答1:


"not in" is not a supported operation in CQL. Cassandra at its heart is still based on key indexed rows. So that query is basically the same as "select * from users", as you have to go through every row and figure out if it does not match the in. If you want to do that type of query you will want to setup a map reduce job to perform it.

When using Cassandra what you actually want to do is de-normalize your data model so that the queries you application performs end up querying a single partition (or just a few partitions) for their results.

Also find some great webinars and talks on Cassandra data modeling

  • http://www.youtube.com/watch?v=T_WRC_GjRd0&feature=youtu.be

  • http://youtu.be/x4Q9JeLIyNo

  • http://www.youtube.com/watch?v=HdJlsOZVGwM&list=PLqcm6qE9lgKJzVvwHprow9h7KMpb5hcUU&index=10



来源:https://stackoverflow.com/questions/18498445/how-to-perform-not-in-filter-in-cql3-query-select

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!