So ändern Sie die PARTITION-KEY-Spalte in Kassandra?

Nehmen wir an, wir haben eine solche Tabelle:

create table users (
    id text,
    roles set<text>,
    PRIMARY KEY ((id))
);

Möchte ich alle Werte dieser Tabelle gespeichert werden, auf die gleiche Cassandra-Knoten (OK, nicht wirklich die gleichen, die gleichen 3, aber habe alle Daten gespiegelt, aber du verstehst den Punkt), also zu erreichen, dass ich will, um dies zu ändern Tabelle wie die folgende:

create table users_v2 (
    partition int,
    id text,
    roles set<text>,
    PRIMARY KEY ((partition), id)
);

Wie kann ich das machen ohne die Daten aus der ersten Tabelle?
Es scheint unmöglich zu sein, von ALTER TABLE, um eine solche Spalte. ich bin OK mit, dass.
Was ich versuche zu tun, ist das kopieren von Daten aus der ersten Tabelle, und legen Sie dann auf den zweiten Tisch.
Wenn ich es tun, wie es ist, die partition Spalte fehlt, was wird erwartet.
Ich kann das ALTER der ersten Tabelle, und fügen Sie eine 'partition' Spalte am Ende, und KOPIEREN Sie dann in der richtigen Reihenfolge, aber ich kann nicht aktualisieren, werden alle Zeilen in der ersten Tabelle, um die all-einige-partition, und es scheint keinen "default" Wert, wenn eine Spalte Hinzugefügt wird.

InformationsquelleAutor | 2015-08-18
Schreibe einen Kommentar