我正在尝试将 Cassandra Keyspace 加数据导出到文件。有没有一个cqlsh命令可以一次导出所有表+数据?
我使用此代码导出键空间。现在我想将所有表中的所有数据导出到文件中。
$ cqlsh -e "DESCRIBE KEYSPACE somekeyspace" > /path/to/somekeyspace.cql
查看 DataStax 文档,您应该能够使用
COPY
命令执行此操作,如下所示(对于单个表):
COPY someKeySpace.someTable (someCol1, someCol2)
TO '/path/to/someTable_Col1Col2.csv' WITH HEADER = TRUE;
对于所有表,您可能需要多次编写此代码或迭代表。您可能会发现这篇文章也很有用。
ps。我还发现这个 GitHub 存储库看起来很有趣,但我自己还没有使用过它,所以我在这里建议你尝试一下:)
基于 Datastax 中的获取快照文章,您可以使用以下命令获取键空间中包含的所有表的快照,
nodetool cleanup mykeyspace
nodetool -h localhost -p 7199 snapshot mykeyspace
您可以在这里找到详细说明: https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/operations/opsBackupTakesSnapshot.html