首页 文章

如何在Cassandra中创建物化视图以根据用户定义类型的一部分进行过滤

提问于
浏览
0

我有一个带有列的表(id作为主键,myudt),其中myudt是用户定义的类型 . 现在我想根据myudt的一部分进行查询 . 基于以下讨论,似乎一种方法是使用物化视图,但如何?有人能举个例子吗?

how to filter cassandra query by a field in user defined type

当我尝试类似下面的内容时失败:

CREATE MATERIALIZED VIEW my_view AS SELECT myud.fname FROM source_table WHERE id IS NOT NULL且myudt IS NOT NULL且myudt.fname IS NOT NULL PRIMARY KEY(myudt.fname,id);

我在cqlsh中得到的错误是:

ErrorMessage code = 2000 [CQL查询中的语法错误] message =“第7:28行不匹配的输入' . '期待')'(... NOT NULL PRIMARY KEY(myudt [ . ] fname ...)“

1 回答

  • 0

    物化视图功能被追溯归类为实验性功能,不建议用于新的 生产环境 用途,https://www.mail-archive.com/user@cassandra.apache.org/msg54073.html . 所以最好远离他们 .

    搜索UDT的一部分,首先打败了将它们组合在一起的目的 . 根据必须提供的查询设计数据模型,反之亦然 . 通过创建另一个表来根据您关心的UDT列提供查询,可以更好地复制数据 .

相关问题