【问题标题】:Cassandra UDT TYPE remove a field nameCassandra UDT TYPE 删除一个字段名
【发布时间】:2018-01-22 16:02:33
【问题描述】:

我在 Cassandra 中有一个 UDT 类型。我想更改此类型以删除国家/地区字段。我没有找到 ALTER TYPE 文档的任何删除或删除字段。 https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlAlterType.html

create type bank_payment (
      account_number text,
      name text,
      city text,
      country text,
      key text
);

请帮助分享 ALTER 命令以从 UDT 上方删除一个字段。

【问题讨论】:

    标签: cassandra cql cassandra-3.0


    【解决方案1】:

    Cassandra UDT 不存储任何实际数据,并且该 UDT 引用的表具有实际数据。因此,继续删除 UDT 并使用您想要的正确定义重新创建它。请记住,具有此 UDT(带有附加列)的旧 sstable 的序列化将与新的不同。

    因此,如果可能的话,在您重新创建此 UDT 时添加一个新版本名称,比如

    bank_payment_v2

    【讨论】:

    • 如果原始表引用了上述类型,cassandra 将不允许删除该类型。要让这个改变表删除引用,删除并重新创建表,然后再次改变以添加类型
    猜你喜欢
    • 2021-01-17
    • 2021-06-08
    • 2015-10-18
    • 2017-06-27
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多