【问题标题】:Cassandra creating table with order by command failsCassandra按命令创建表失败
【发布时间】:2019-09-07 02:06:00
【问题描述】:

我正在尝试使用以下命令创建一个新表:

创建表 schema2(city varchar, loc list, pop int, zip varchar,state varchar, primary key (city, zip)) WITH CLUSTERING ORDER BY (城市 ASC, zip DESC);

但我得到了错误:

InvalidRequest:来自服务器的错误:code=2200 [无效查询] message="CLUSTERING 中只能定义聚类键列 ORDER 指令”

我指定了我想要的主键,并且只使用主键进行了聚类排序,但它仍然会出错。我该如何解决这个问题?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    创建表 schema2(city varchar, loc list, pop int, zip varchar,state varchar, primary key (city, zip)) WITH CLUSTERING ORDER BY (城市 ASC, zip DESC);

    在这个定义中,(city,zip) 被称为 PRIMARY KEY,city 被称为 partition key,而 zip 被称为 clustering key。数据根据分区键分布在所有节点之间。数据根据集群键在分区内排序。因此,您无法在城市上执行订购。您提到的错误清楚地说明了这一点。如果您在集群顺序中跳过城市,您的 DDL 将被接受。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2019-02-11
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 2018-02-18
      • 2017-03-08
      相关资源
      最近更新 更多