ALTER-TABLE-ROLLUP

Name

ALTER TABLE ROLLUP

Description

该语句用于对已有 table 进行 rollup 进行修改操作。rollup 是异步操作,任务提交成功则返回,之后可使用SHOW ALTER 命令查看进度。

语法:

  1. ALTER TABLE [database.]table alter_clause;

rollup 的 alter_clause 支持如下几种创建方式

  1. 创建 rollup index

语法:

  1. ADD ROLLUP rollup_name (column_name1, column_name2, ...)
  2. [FROM from_index_name]
  3. [PROPERTIES ("key"="value", ...)]

properties: 支持设置超时时间,默认超时时间为1天。

  1. 批量创建 rollup index

语法:

  1. ADD ROLLUP [rollup_name (column_name1, column_name2, ...)
  2. [FROM from_index_name]
  3. [PROPERTIES ("key"="value", ...)],...]

注意:

  • 如果没有指定 from_index_name,则默认从 base index 创建
  • rollup 表中的列必须是 from_index 中已有的列
  • 在 properties 中,可以指定存储格式。具体请参阅 CREATE TABLE
  1. 删除 rollup index

    语法:

  1. DROP ROLLUP rollup_name [PROPERTIES ("key"="value", ...)]
  1. 批量删除 rollup index

语法:

  1. DROP ROLLUP [rollup_name [PROPERTIES ("key"="value", ...)],...]

注意:

  • 不能删除 base index

Example

  1. 创建 index: example_rollup_index,基于 base index(k1,k2,k3,v1,v2)。列式存储。
  1. ALTER TABLE example_db.my_table
  2. ADD ROLLUP example_rollup_index(k1, k3, v1, v2);
  1. 创建 index: example_rollup_index2,基于 example_rollup_index(k1,k3,v1,v2)
  1. ALTER TABLE example_db.my_table
  2. ADD ROLLUP example_rollup_index2 (k1, v1)
  3. FROM example_rollup_index;
  1. 创建 index: example_rollup_index3, 基于 base index (k1,k2,k3,v1), 自定义 rollup 超时时间一小时。
  1. ALTER TABLE example_db.my_table
  2. ADD ROLLUP example_rollup_index(k1, k3, v1)
  3. PROPERTIES("timeout" = "3600");
  1. 删除 index: example_rollup_index2
  1. ALTER TABLE example_db.my_table
  2. DROP ROLLUP example_rollup_index2;
  1. 批量删除Rollup
  1. ALTER TABLE example_db.my_table
  2. DROP ROLLUP example_rollup_index2,example_rollup_index3;

Keywords

  1. ALTER, TABLE, ROLLUP, ALTER TABLE

Best Practice