Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从2.1迁移到3.x时的Cassandra查询兼容性_Cassandra_Datastax_Datastax Enterprise_Cassandra 2.0_Cassandra 3.0 - Fatal编程技术网

从2.1迁移到3.x时的Cassandra查询兼容性

从2.1迁移到3.x时的Cassandra查询兼容性,cassandra,datastax,datastax-enterprise,cassandra-2.0,cassandra-3.0,Cassandra,Datastax,Datastax Enterprise,Cassandra 2.0,Cassandra 3.0,我正在将数据从cassandra 2.1迁移到3.x 下面我有一个cassandra查询,它在我的'cassandra 2.1'中运行良好,但在'cassandra 3.x'中出现错误 查询:“按用户名desc limit 10从事件用户中选择*,其中app\u id=1234,事件名称='login'和日期('2017-06-11','2017-06-11') Cassandra v2.1:运行良好 Cassandra v3.x:错误 InvalidRequest:Error from ser

我正在将数据从cassandra 2.1迁移到3.x

下面我有一个
cassandra
查询,它在我的'cassandra 2.1'中运行良好,但在'cassandra 3.x'中出现错误

查询
“按用户名desc limit 10从事件用户中选择*,其中app\u id=1234,事件名称='login'和日期('2017-06-11','2017-06-11')

Cassandra v2.1:运行良好

Cassandra v3.x:错误
InvalidRequest:Error from server:code=2200[Invalid query]message=“无法在分区键上同时使用ORDER BY和a IN限制对查询进行分页;您必须删除ORDER BY或IN and sort客户端,或为此查询禁用分页”

正如错误所说,不要同时使用IN和OrderBy,而要在客户端使用排序

排序然后选择前10行在客户端是不可行的

表架构
创建表事件用户(应用程序id bigint、事件名称文本、日期文本、用户名文本、计数计数器、唯一计数计数器、主键((应用程序id、事件名称、日期)、用户名)),聚类顺序为(用户名ASC)


解决此问题的更好方法是什么?

两个cassandra版本都会给出错误信息。我已经在
2.1.14
3.10
上对其进行了测试,如果同时使用IN和ORDER BY,则可能需要使用cqlsh中的paging off命令关闭分页。cqlsh>PAGING OFF就是答案。将
PAGING OFF
会对性能产生任何影响,默认
PAGING on
会做什么如果关闭PAGING OFF,查询结果将在单个请求中提供。默认情况下,分页处于打开状态,结果逐页提供。单个页面中的默认行为100