Alter cassandra column family primary key using cassandra-cli or CQL
The primary keys directly determine how and where cassandra stores the data contained in a table (column family). The primary key consists of partition key and clustering key (optional).
The partition key determines which node stores the data. It is responsible for data distribution across the nodes. The additional columns determine per-partition clustering (see compound key documentation).
So changing the primary key will always require all data to be migrated. I do not think that either cqlsh or cassandra-cli have a command for this (as of 2015)..
Related videos on Youtube
Justin Sweeney
Software developer by trade with over 10 years of experience developing applications solving Big Data and Search problems.
Updated on June 04, 2022Comments
-
Justin Sweeney almost 2 years
I am using Cassandra 1.2.5. After creating a column family in Cassandra using cassandra-cli, is it possible to modify the primary key on the column family using either cassandra-cli or CQL?
Specifically, I currently have the following table (from CQL):
CREATE TABLE "table1" ( key blob, column1 blob, value blob, PRIMARY KEY (key, column1) );
I would like the table to be as follows, without having to drop and recreate the table:
CREATE TABLE "table1" ( key blob, column1 blob, value blob, PRIMARY KEY (key) );
Is this possible through either cassandra-cli or CQL?