全部產品
Search
文件中心

Data Lake Analytics - Deprecated:ALTER TABLE

更新時間:Jul 06, 2024

ALTER TABLE用來對錶的資訊進行修改。

背景資訊

目前ALTER TABLE支援的操作包括:
  • 添加分區。
  • 刪除分區。
  • 添加列。
  • 修改列。

注意事項

  • 目前ALTER TABLE的操作只支援OSS表。
  • 不支援對partition key做修改。
  • 不支援修改內表的列類型。
  • 如果表中存在大量的分區,修改列名稱和類型會很耗時,請謹慎操作。

添加分區

文法
ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION partition_spec [LOCATION 'location'][, PARTITION partition_spec [LOCATION 'location'], ...];
 partition_spec:
  : (partition_column = partition_col_value, partition_column = partition_col_value, ...)
樣本
alter table test_opencsv_part 
add partition(dt = 'bar') 
location 'oss://bucket001/datasets/test/test_opencsv_part/dt=foo/';

刪除分區

文法
ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec[, PARTITION partition_spec, ...];
樣本
ALTER TABLE order_part DROP
PARTITION (dt='2008-08-08', status='ready');

添加列

文法
ALTER TABLE table_name  ADD COLUMNS(col_name data_type);
樣本
alter table alter_table_add_column_db.parquet_test add columns(gender string);

修改列

文法
ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type
  [COMMENT col_comment];
樣本
CREATE TABLE test_change (a int, b int, c int);

// First change column a’s name to a1.
ALTER TABLE test_change CHANGE a a1 INT;

// Add a comment to column a1
ALTER TABLE test_change CHANGE a1 a1 INT COMMENT 'this is column a1';