web-dev-qa-db-fra.com

Quel est un bon moyen de copier des données d'un Cassandra ColumnFamily vers un autre sur le même Keyspace (comme INSERT INTO de SQL)?

Essayer de trouver un moyen de transférer facilement toutes les lignes d'un Cassandra ColumnFamily/Table à un autre.

Si je comprends bien, la commande COPY est une bonne option. Cependant, comme il transfère toutes les données vers .csv sur le disque, puis le charge en arrière, je ne peux pas m'empêcher de me demander s'il existe une meilleure façon de le faire dans le moteur.

Un exemple spécifique de ce que je veux dire serait le INSERT * FROM my_table INTO my_other_table disponible dans de nombreuses bases de données SQL. Bien sûr, je me rends compte que Cassandra est NoSQL et ne fonctionne donc pas de la même manière - mais cela semble être quelque chose qui pourrait être disponible.

Quelle est la bonne façon d'y parvenir?

Merci beaucoup!

11
Juan Carlos Coto
cqlsh -k mykeyspace -e 'COPY fromTable(columnNames) TO STDOUT' | head -n -1 | 
cqlsh -k mykeyspace -e 'COPY toTable(columnNames) FROM STDIN'
10
Vilmos Kiss
2
Mikhail Stepura