cassandra copy data from one columnfamily to another columnfamily

你说的曾经没有我的故事 提交于 2019-12-18 15:49:51

问题


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 .


回答1:


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




回答2:


Please be aware of a limit of max. 2 million rows when using the COPY command. See https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlshCopy.html

Note: Only use COPY FROM to import datasets that have less than 2 million rows. To import large datasets, use the Cassandra bulk loader




回答3:


cqlsh -k mykeyspace -e 'COPY fromTable(columnNames) TO STDOUT' | head -n -1 | cqlsh -k mykeyspace -e 'COPY toTable(columnNames) FROM STDIN'



来源:https://stackoverflow.com/questions/17542239/cassandra-copy-data-from-one-columnfamily-to-another-columnfamily

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!