cassandracassandra-cli

cassandra copy data from one columnfamily to another columnfamily


I am newbie to cassandra . I need to copy data from one columnFamily to another columnFamily in same keyspace in cassandra .Say for ex we have a A1 columnFamily in keyspace K1 , so now i need to create columnFamily A2 in the same keyspace K1 .Here i need to copy data from columnFamily A1 to A2 .A1 and A2 have the same schema .I read online docs where in we can use sstable loader to copy data from one cassandra cluster to another . But here i need to copy data from one columnFamily to another columnFamily within same keyspace .

Any ideas on above . Or is it achievable i am not sure of it .


Solution

  • Depending on the cassandra version you can use the copy cql command. To use that you need a cql client like the one that is distributted with cassandra.

    First you have to copy the columnfamily A1 to a CSV file using:

    COPY K1.A1 (column1, column2,...) TO 'temp.csv';
    

    And after that copy the file to the new column family

    COPY K1.A2 (column1, column2,...) FROM 'temp.csv';
    

    Obviously you have to change the name of the columns to your names.

    More information:

    http://www.datastax.com/documentation/cassandra/1.2/index.html#cassandra/cql_reference/copy_r.html