primary - alterar clave primaria compuesta en cassandra CQL 3.0
drop column cassandra (2)
Estoy en una situación en la que necesito cambiar la clave principal compuesta de la siguiente manera:
Clave principal antigua: (id, source, attribute_name, updated_at);
Nueva clave principal que quiero: (source, id, attribute_name, updated_at);
Emití el siguiente comando (mysql like):
ALTER TABLE general_trend_table
DROP PRIMARY KEY,
ADD PRIMARY KEY(source, id, attribute_name, updated_at);
Tuve el siguiente error:
Solicitud incorrecta: la línea 1:38 no es una alternativa viable en la entrada ''PRIMARIA''
¿Alguna idea de cómo solucionar este problema? más específicamente, quiero saber ¿hay alguna forma de cambiar la clave principal en cassandra?
No hay manera de cambiar una clave principal, ya que define cómo se almacenan físicamente sus datos.
Puede crear una nueva tabla con la nueva clave principal, copiar datos de la anterior y, a continuación, eliminar la tabla anterior.
Si existe la posibilidad de usar la clave principal anterior, puede crear una vista de materialzied: http://docs.datastax.com/en/cql/3.3/cql/cql_using/useCreateMV.html Pero solo es recomendable, si Necesitaría la vieja llave.