gpt4 book ai didi

cassandra - 如何在cassandra中添加多列作为主键?

转载 作者:行者123 更新时间:2023-12-02 04:17:46 24 4
gpt4 key购买 nike

我有一个包含数百万条记录的现有表,最初我们有两列作为分区键和聚集键,现在我想在表中添加两列作为分区键。

如何?

最佳答案

如果更改分区键,您将需要创建一个新表并导入现有数据。部分原因是分区键不等于关系数据库中的主键。分区键由 Cassandra 进行哈希处理,该哈希用于查找磁盘上的分区。如果更改分区键,就会更改哈希值,并且无法再查找分区!

CREATE TABLE KEYSPACE_NAME.AMAR_EXAMPLE (
COLUMN_1 TYPE,
COLUMN_2 TYPE,
COLUMN_3 TYPE,
...
COLUMN_N TYPE
// Here we declare the partition key columns and clustering columns
PRIMARY KEY ((COLUMN_1, COLUMN_2, COLUMN_3, COLUMN_4), CLUSTERING_COLUMN)
)
//If you need to change the default clustering order declare that here
WITH CLUSTERING ORDER BY (COLUMN_4 DESC);

您可以使用 COPY 将数据导出到 CSV,然后通过 COPY 或使用 SSTABLELOADER 将数据导入到新表中。有大量关于如何使用这些工具的文档和演练。例如,this Datastax blog post讨论对更新后的 SSTABLELOADER 所做的更改。如果您创建一个新表并导入现有数据,您将创建新分区和新哈希。 Cassandra 不会让您在创建表后简单地向分区键添加其他列。

了解您的数据和 Cassandra 数据建模技术将有助于减轻您可能发现自己需要更改分区键的工作量。查看 Datastax 提供的自定进度类(class)。 DS220: Data Modeling真的很有帮助。

关于cassandra - 如何在cassandra中添加多列作为主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32651532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com