database - Cassandra CQL3 : Change primary key

标签 database cassandra cql cql3 cqlsh

目前,我有一个包含 10K 行主键的表。

PRIMARY KEY ((deviceid, time), channelname)

我需要得到:

PRIMARY KEY (deviceid, time, channelname)

我在某处看到,我必须重建我的整个表格。那么,您是否有一些方法/建议来导出我的行并将它们导入到我的新表中?

谢谢;)

最佳答案

I saw somewhere, that I've to rebuild my whole table.

没错。

So do you have some methods / advices to export my rows and import them in my new table ?

是的,出于完全相同的原因,前几周我不得不这样做。在 cqlsh 中,您可以使用 COPY 实用程序。

要导出我的shipcrewregistry 表,我将使用COPY TO:

aploetz@cqlsh:presentation> COPY shipcrewregistry (shipname , lastname , firstname , 
    citizenid , aliases) TO '/home/aploetz/shipcrewreg_20150805.txt' 
    WITH HEADER=true AND DELIMITER='|';

9 rows exported in 0.026 seconds.

一旦我大吃一惊并重新创建了表格,我将使用 COPY FROM 来导入它:

aploetz@cqlsh:presentation> COPY shipcrewregistry (shipname , lastname , firstname ,
    citizenid , aliases) FROM '/home/aploetz/shipcrewreg_20150805.txt' 
    WITH HEADER=true AND DELIMITER='|';

9 rows imported in 0.636 seconds.

有关 COPY 的更多信息,请查看 DataStax docs .

关于database - Cassandra CQL3 : Change primary key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31833137/

相关文章:

java - 为数据库中的唯一名称创建附加 ID?

java - 如何存储简单的离线桌面应用程序的数据?

cassandra - 一定时间后删除一行

cassandra - 在 cassandra 中何时使用十进制与浮点/ double ?

database - 用于具有多种测量类型的时间序列的 Cassandra

cassandra - 如何保持cassandra中多个表的数据一致性?

Cassandra - 遍历表行

mysql - MYSQL Full GROUP BY 的解决方法

database - ODBC 与特定的 RDBMS API 相比有何优势?

Cassandra 数据建模 一行中少于 1000 条记录