2013-08-22 2 views
5

Ich habe einen alten Schlüsselbereich im Cassandra-Cluster erstellt, aber die Definition seines "Vergleichers" ist falsch, also muss ich einen neuen Schlüsselbereich erstellen und Datenmigration durchführen. Gibt es ein Tool für die Datenmigration? Oder muss ich mit dem Thrift-Client programmieren, alle Daten aus altem Schlüsselraum lesen und sie in neuen Schlüsselraum schreiben? Irgendwelche Vorschläge oder Code-Schnipsel sind willkommen!Wie wird die Datenmigration von Cassandra von einem Schlüsselbereich zu einem anderen Schlüsselbereich durchgeführt?

Antwort

0

Wir können es mit COPY Befehl in CQL tun. Mit dem Befehl COPY können wir Tabellendaten in .csv Datei speichern und zurück zu einer Tabelle von .csv Datei. Der bessere Ansatz besteht jedoch darin, ein Programm zum Lesen aus der Tabelle zu schreiben und es in eine andere Tabelle zu schreiben, da das Importieren aus CSV fehlschlagen kann, wenn die Tabelle Auflistungsspalte wie list<text>, map<text, text>, set<text> enthält.

zB: - Um Tabellendaten aus der Tabelle kopieren Sie die Datei in CSV: -

COPY keyspace1.table1 (column1, column2) TO 'path/to/file/keyspace1_table1.csv'; 

csv Daten aus der Datei in eine Tabelle zu kopieren: -

COPY keyspace2.table1 (column1, column2) FROM 'path/to/file/keyspace1_table1.csv'; 

Siehe Cassandra migration tool