我尝试更新Cassandra数据库中的表。现在我有一个看起来像
的表foo(id, email) - email text type
我想将表更新为
foo(id, emails) - emails list of text type
我添加了新列
ALTER TABLE foo ADD emails set <text>;
但是我不知道如何将价值从电子邮件列迁移到电子邮件。
答案 0 :(得分:0)
我对您的域不是很熟悉,但是您必须告诉Cassandra如何创建新的电子邮件列表。如果您没有太多记录,请查看COPY。您可以
COPY TO
COPY FROM
上传新数据。 如果您必须在表增长时实时进行此更新,则此解决方案将不起作用。
答案 1 :(得分:0)
Cassandra没有执行此操作的本机解决方案。
也许您可以使用自己喜欢的编程语言创建一个简单的迁移程序,然后执行以下步骤:
ALTER
命令在cassandra中创建新列。它自己的程序将逐一记录卡桑德拉的所有记录并进行转换。