如何将现有列数据迁移到cassandra数据库中的新列?

kzmpq1sx  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(371)

我需要将用户的测验完成状态保存到一个cassandra的表中,以前的表被设计为只保存一个测验状态,所以如果用户进行另一个测验,我就不能保存(用户id是主键)。我试图通过添加新列来实现这一点,但不知道如何将当前数据迁移到新列。

id  | quiz_completed | quiz_skipped
-----+----------------+-------------
 123 |           True |        False

使用新列

id  | quiz_completed | quiz_skipped | quiz_status
-----+----------------+--------------+-----------------------------------------------------------
 123 |           True |        False | {"XXXX": {"quiz_completed": true, "quiz_skipped": false}, "YYYY": {"quiz_completed": true, "quiz_skipped": false}}

你能给我介绍一下数据迁移吗?
提前谢谢!

smdncfj3

smdncfj31#

可以使用外部工具执行此操作,例如:
Spark与SparkCassandra连接器-在这种情况下,你可以在同一个程序内执行所有操作(如果是一次性操作,那么你可以做的一切在Spark壳);
使用一些工具,比如datastax bulk loader(dsbulk),将数据卸载到csv或json文件中,用一些工具(sed/awk/…)转换它们,然后重新加载。

相关问题