如何将现有列数据迁移到Cassandra中的新列中

问题描述 投票:0回答:1

我需要将用户的测验完成状态保存到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}}

您能指导我进行数据迁移吗?

提前感谢!

cassandra nosql cassandra-3.0 cassandra-2.1
1个回答
0
投票

例如,您可以使用外部工具执行此操作:

  1. 使用Spark Cassandra Connector闪烁-在这种情况下,您可以在同一程序内执行所有操作(如果是一次性操作,则可以在spark shell中执行所有操作);
  2. [使用某些工具,例如DataStax Bulk Loader (DSBulk)将数据卸载到CSV或JSON文件等文件中,并使用某些工具(sed / awk / ...)对其进行转换,然后重新加载。
© www.soinside.com 2019 - 2024. All rights reserved.