12

Trying to find a way to easily transfer all the rows from a Cassandra ColumnFamily/Table to another.

The COPY command, as I understand, is a good option. However, as it dumps all the data to .csv on disk and then loads it back, I can't help but wonder if there is a better way to do it in-engine.

A specific example of what I mean would be the INSERT * FROM my_table INTO my_other_table available in many SQL databases. Of course, I realize that Cassandra is NoSQL and therefore does not to work the same way - but it seems like something which might be available.

What is a good way to accomplish this?

Thanks very much!

billinkc
  • 16,143
  • 4
  • 54
  • 89
Juan Carlos Coto
  • 1,588
  • 5
  • 18
  • 25

2 Answers2

11
cqlsh -k mykeyspace -e 'COPY fromTable(columnNames) TO STDOUT' | head -n -1 | 
cqlsh -k mykeyspace -e 'COPY toTable(columnNames) FROM STDIN'
Paul White
  • 94,921
  • 30
  • 437
  • 687
Vilmos Kiss
  • 111
  • 1
  • 2