【问题标题】:Query a Cassandra table according to fields that are not part of the partition key根据不属于分区键的字段查询 Cassandra 表
【发布时间】:2021-01-14 15:14:19
【问题描述】:

我有一个 Cassandra 表,其中一些列被定义为集群,但我还需要能够根据其他列中的数据进行过滤。

假设我的表由 A、B、C、D、E、F 列组成 A、B 列是集群键,但我需要“WHERE”部分来包含 E 或 F 或 E 和 F 中的值 所以像 SELECT * FROM My_Table WHERE A='x' AND B='y' AND E='t' AND F='g'

Cassandra 只允许使用 ALLOW FILTERING 选项,这当然不好。

我有什么选择?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    由于您尚未发布表架构,因此回答您的问题并不容易。

    如果列 E 和 F 不是集群键,您可以选择为列编制索引。但是,根据您存储的数据类型和/或数据,它们各有优缺点。

    有关详细信息,请参阅When to use an index in Cassandra。干杯!

    【讨论】:

    • 谢谢。有没有像 Spark 这样推荐的外部工具?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 2016-05-11
    • 2017-08-13
    • 2016-06-04
    • 1970-01-01
    相关资源
    最近更新 更多