11 试图找到一种将所有行从Cassandra ColumnFamily / Table轻松转移到另一行的方法。 据COPY我了解,该命令是一个不错的选择。但是,由于它将所有数据转储到.csv磁盘上然后再加载回去,我不禁想知道是否有更好的方法可以在引擎内完成。 我的意思的一个具体示例将INSERT * FROM my_table INTO my_other_table在许多SQL数据库中可用。当然,我意识到Cassandra是NoSQL,因此不能以相同的方式工作-但似乎可以使用。 有什么好的方法可以做到这一点? 非常感谢! migration nosql cassandra — 胡安·卡洛斯·科托 source
10 cqlsh -k mykeyspace -e 'COPY fromTable(columnNames) TO STDOUT' | head -n -1 | cqlsh -k mykeyspace -e 'COPY toTable(columnNames) FROM STDIN' — 维尔莫斯之吻 source 1 谢谢,这看起来很有趣。但是,我会担心字符转义和其他问题,尤其是在处理某些类型的数据时。这是一个问题吗? — Juan Carlos Coto 2014年 1 好主意,但正如@JuanCarlosCoto所说,它不适用于某些数据类型。我在带有Blob列的表上尝试过,但在换行符上崩溃了。 — Alexandre DuBreuil 2015年 在cassandra 2.1.2上,我必须将命令修改为head -n -2,因为COPY的输出在末尾包括两行,需要进行修剪。它仍然在工作,但最后却为空行感到生气。 — ctlacko 2015年 注意-仅使用COPY FROM导入少于200万行的数据集。要导入大型数据集,请使用Cassandra批量加载器。 — GaneshP '18 -10-9
2 您是否看过sstableloader http://www.datastax.com/documentation/cassandra/2.0/cassandra/tools/toolsBulkloader_t.html? — 米哈伊尔·斯蒂普拉(Mikhail Stepura) source