CASSANDRA:允许过滤不适用于物化视图



VIEW:

CREATE MATERIALIZED VIEW IF NOT SampleView AS
SELECT *
FROM table
WHERE id IS NOT NULL and id1 IS NOT NULL AND col1 IS NOT NULL AND col2 IS NOT NULL
PRIMARY KEY ((id, id1), col1, col2)
WITH CLUSTERING ORDER BY (col1 DESC, col2 DESC);

查询:

select * from SampleView where id = 1 and col1 > 3 LIMIT 20 ALLOW FILTERING

错误

分区键部分:id1 必须受到限制,因为其他部分是

是否允许对实例化视图使用允许过滤子句?如果不是,还有什么更好的选择?

您可能正在运行 Cassandra 3.9 或更低版本,并遇到了 CASSANDRA-10368 中描述的错误,该错误已在 3.10 中修复。

您可能希望升级到较新的版本(从今天开始推荐 3.11.3(。

此外,正如 Chris 所提到的,物化视图仍然被标记为实验性视图,并且允许过滤仅适用于开发目的,很少适用于带有"prod"标签的任何内容。

最新更新