我在cassandra中有两个用户定义的类型。第一种是将第二个对象用作其中的冻结对象。
CREATE TYPE my_keyspace.test (
testid text,
testdate text,
testdata frozen<testdata>
);
CREATE TYPE my_keyspace.testdata (
subject text,
metadata text
);
现在我的要求是将这个对象转换为udt列表。像这样的
CREATE TYPE my_keyspace.test (
testid text,
testdate text,
testdata list<frozen<testdata>>
);
是否可以将单个对象更新为cassandra中的对象列表。哪些选项可用于更新模式。
1条答案
按热度按时间sqserrrh1#
唯一的方法是使用
ALTER TYPE
,并开始使用此新字段,使用一些代码迁移现有数据。cassandra不允许更改现有字段的类型,也不能从udt中删除字段。所以你的类型应该是这样的:可以将现有数据迁移到列表中,然后设置为
null
释放空间。