问题描述
使用cqlsh在dse 6.7上查询时遇到问题。
r = np.random.random(size=(1000,1000))
q = np.linspace(0,1,1001)
f = np.random.random(size=(r.shape[0],q.shape[0]))
%timeit y = myfunc(r,q,f)
#6.1 s ± 4 ms per loop (mean ± std. dev. of 7 runs,1 loop each)
%timeit y = myfunc_opt(r,f)
#1.26 s ± 18.6 ms per loop (mean ± std. dev. of 7 runs,1 loop each)
%timeit y = myfunc_opt_2(r,f)
#397 ms ± 2.69 ms per loop (mean ± std. dev. of 7 runs,1 loop each)
我的查询非常简单:
查询:
Invalid Request: Error from server: code=2200 [Invalid query] message="Unsupported consistency level: LOCAL_QUORUM. Supported consistency levels for Search are: ONE,LOCAL_ONE".
我在Google上花费了很多时间,但没有发现与我的用例相同的用例。
解决方法
问题出在后面-您正在使用LIKE
运算符在已启用DSE搜索的表上运行查询。由于CQL没有LIKE
运算符,因此该查询被卸载到DSE搜索中,该搜索仅能够回答一致性级别为ONE
或LOCAL_ONE
的查询(如错误所指出的那样-这是DSE搜索的已知限制。
您需要使用cqlsh命令CONSISTENCY更改一致性级别,谎言如下:
CONSISTENCY LOCAL_ONE
,然后再次执行查询。