2013-08-22 11 views
5

Ho creato un vecchio spazio per le chiavi nel cluster Cassandra ma ho trovato che la definizione del suo "comparatore" è errata, quindi devo ricreare un nuovo spazio per le chiavi e fare la migrazione dei dati. C'è qualche strumento per fare la migrazione dei dati? o devo programmare con il client Thrift leggere tutti i dati dal vecchio keyspace e scriverli su un nuovo keypace? Qualsiasi suggerimento o frammento di codice è benvenuto!Come eseguire la migrazione dei dati di Cassandra da uno spazio per chiavi a un altro spazio tasti?

risposta

0

Possiamo farlo usando il comando COPY in cql. Usando il comando COPY possiamo salvare i dati della tabella nel file .csv e tornare a un tavolo dal file .csv. Ma, l'approccio migliore sarà scrivere un programma per leggere dalla tabella e scriverlo su un'altra tabella perché l'importazione da CSV potrebbe fallire se la tabella contiene tipi di colonne di raccolta come list<text>, map<text, text>, set<text>.

Ad esempio: - Per copiare i dati della tabella da tavolo a .csv: -

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

per copiare i dati da file CSV a una tabella: -

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

consultare Cassandra migration tool

Problemi correlati