2016-08-18 6 views
0

Ich muss das Schema einer meiner Tabellen in Cassandra ändern. Es kann nicht einfach mit dem Befehl ALTER TABLE ausgeführt werden, da einige Änderungen am Primärschlüssel vorliegen.Wie Daten zwischen zwei Tabellen in Cassandra ordnungsgemäß migriert werden

Die Frage ist also: Wie macht man eine solche Migration am besten?

Mit COPY Befehl in Cql ist keine Option hier, weil Dump-Datei kann wirklich sehr groß sein.

Kann ich dieses Problem lösen, indem ich keine benutzerdefinierte Anwendung erstelle?

+1

Ich denke, Sie können es nicht direkt in Cassandra tun. Sie müssen ein externes Tool wie canandra-migration (npm) verwenden. –

Antwort

1

Wie Guillaume in dem Kommentar vorgeschlagen hat - Sie können dies nicht direkt in Cassandra tun. Schema-Änderungsoperationen sind hier sehr begrenzt. Sie müssen diese Migration manuell mit einem der dort vorgeschlagenen Tools durchführen ODER wenn Sie sehr große Tabellen haben, können Sie Spark nutzen.

Spark kann effizient Daten von Ihren Knoten lesen, sie lokal transformieren und sie wieder in db speichern. Denken Sie daran, dass für eine solche Migration der gesamte Inhalt der Datenbank gelesen werden muss. Dies kann eine Weile dauern. Es könnte die leistungsfähigste Lösung sein, erfordert jedoch eine größere Vorbereitung - Spark-Cluster-Setup.

Verwandte Themen