cassandra将数据从一个columnfamily复制到另一个columnfamily

cassandra将数据从一个columnfamily复制到另一个columnfamily,cassandra,cassandra-cli,Cassandra,Cassandra Cli,我是卡桑德拉的新手。我需要在cassandra的同一个键空间中将数据从一个columnFamily复制到另一个columnFamily。例如,对于ex,我们在键空间K1中有一个A1 columnFamily,所以现在我需要在相同的键空间K1中创建columnFamily A2。这里我需要将数据从columnFamily A1复制到A2。A1和A2具有相同的模式。我阅读了在线文档,其中我们可以使用sstable loader将数据从一个cassandra集群复制到另一个集群。但在这里,我需要在同一

我是卡桑德拉的新手。我需要在cassandra的同一个键空间中将数据从一个columnFamily复制到另一个columnFamily。例如,对于ex,我们在键空间K1中有一个A1 columnFamily,所以现在我需要在相同的键空间K1中创建columnFamily A2。这里我需要将数据从columnFamily A1复制到A2。A1和A2具有相同的模式。我阅读了在线文档,其中我们可以使用sstable loader将数据从一个cassandra集群复制到另一个集群。但在这里,我需要在同一个键空间中将数据从一个columnFamily复制到另一个columnFamily


以上有什么想法吗。或者它是可以实现的,我不确定。

根据cassandra版本的不同,您可以使用copy cql命令。要使用它,您需要一个cql客户机,就像与cassandra一起分发的客户机一样

首先,必须使用以下命令将columnfamily A1复制到CSV文件:

COPY K1.A1 (column1, column2,...) TO 'temp.csv';
然后将文件复制到新的列族中

COPY K1.A2 (column1, column2,...) FROM 'temp.csv';
显然,您必须将列的名称更改为您的名称

更多信息:


cqlsh-k mykeyspace-e'从表(列名称)复制到STDOUT'| head-n-1 | cqlsh-k mykeyspace-e'从STDIN'复制toTable(列名称)

使用COPY命令时,请注意最大限制为200万行。看

注意:仅使用“复制自”导入少于200万行的数据集。要导入大型数据集,请使用Cassandra批量加载程序


如果解决方案对您有效,请检查答案是否正确,以便其他有相同疑问的人可以检查这是否是要使用的方法。我正在尝试执行相同的操作,但这会给我带来错误,例如无效字符串常量,以前插入的值仍然存在。。因此,在将K1.A1(第1列,第2列,…)复制到“temp.csv”后是否有必要截断数据;步