-- ALTER TABLE [old_db_name.]old_table_name RENAME TO [new_db_name.]new_table_name ALTER TABLE old_table_name RENAME TO new_table_name; ALTER TABLE old_db_name.old_table_name RENAME TO new_table_name; ALTER TABLE old_table_name RENAME TO new_db_name.new_table_name; ALTER TABLE old_db_name.old_table_name RENAME TO new_db_name.new_table_name; -- ALTER TABLE name ADD [IF NOT EXISTS] COLUMNS (col_spec[, col_spec ...]) ALTER TABLE my_table ADD COLUMNS (id INT COMMENT 'Identifier', name STRING COMMENT 'Name'); ALTER TABLE my_table ADD IF NOT EXISTS COLUMNS (age INT COMMENT 'Age'); ALTER TABLE my_table ADD COLUMNS (email STRING COMMENT 'Email'); -- ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...]) ALTER TABLE my_table REPLACE COLUMNS (age INT COMMENT 'Updated Age'); ALTER TABLE my_table REPLACE COLUMNS (email STRING COMMENT 'Updated Email', address STRING COMMENT 'Updated Address'); -- ALTER TABLE name ADD COLUMN [IF NOT EXISTS] col_spec ALTER TABLE my_table ADD COLUMN age INT COMMENT 'Updated Age'; ALTER TABLE my_table ADD COLUMN IF NOT EXISTS age INT COMMENT 'Updated Age'; -- ALTER TABLE name DROP [COLUMN] column_name ALTER TABLE my_table DROP COLUMN column_name; ALTER TABLE my_table DROP column_name; -- ALTER TABLE name CHANGE column_name col_spec ALTER TABLE my_table CHANGE COLUMN age INT COMMENT 'Updated Age'; -- ALTER TABLE name SET OWNER USER user_name ALTER TABLE my_table SET OWNER USER user_name; /* Kudu tables only. ALTER TABLE name ALTER [COLUMN] column_name { SET kudu_storage_attr attr_value | DROP DEFAULT } */ ALTER TABLE my_table ALTER COLUMN size SET BLOCK_SIZE 1024 ; ALTER TABLE my_table ALTER COLUMN id SET DEFAULT 0 ; ALTER TABLE my_table ALTER COLUMN name SET ENCODING 'plain' ; ALTER TABLE my_table ALTER COLUMN address SET COMPRESSION 'lz4'; ALTER TABLE my_table ALTER COLUMN id DROP DEFAULT; /* Non-Kudu tables only. ALTER TABLE name ALTER [COLUMN] column_name SET COMMENT 'comment_text' */ ALTER TABLE my_table ALTER age SET COMMENT '年龄'; ALTER TABLE my_table ALTER COLUMN age SET COMMENT '年龄'; /* ALTER TABLE name ADD [IF NOT EXISTS] PARTITION (partition_spec) [location_spec] [cache_spec] */ ALTER TABLE my_table ADD PARTITION (date = '2023-01-01'); ALTER TABLE my_table ADD IF NOT EXISTS PARTITION (date = '2023-01-01'); ALTER TABLE my_table ADD PARTITION (country = 'USA') LOCATION '/path/to/partition'; ALTER TABLE my_table ADD IF NOT EXISTS PARTITION (category = 'Books') LOCATION '/path/to/books_partition'; ALTER TABLE my_table ADD PARTITION (date = '2023-01-01') CACHED IN 'pool_name' WITH REPLICATION = 3; ALTER TABLE my_table ADD IF NOT EXISTS PARTITION (date = '2023-01-01') CACHED IN 'pool_name' WITH REPLICATION = 3; ALTER TABLE my_table ADD PARTITION (country = 'USA') UNCACHED; ALTER TABLE my_table ADD IF NOT EXISTS PARTITION (country = 'USA') UNCACHED; -- ALTER TABLE name ADD [IF NOT EXISTS] RANGE PARTITION kudu_partition_spec ALTER TABLE my_table ADD RANGE PARTITION VALUE = 100; ALTER TABLE my_table ADD IF NOT EXISTS RANGE PARTITION 10 < VALUES < 20; /* ALTER TABLE name DROP [IF EXISTS] PARTITION (partition_spec) [PURGE] */ ALTER TABLE my_table DROP PARTITION (date = '2023-01-01'); ALTER TABLE my_table DROP IF EXISTS PARTITION (name = 'impala'); -- ALTER TABLE name DROP [IF EXISTS] RANGE PARTITION kudu_partition_spec ALTER TABLE my_table DROP RANGE PARTITION VALUE != 100; ALTER TABLE my_table DROP IF EXISTS RANGE PARTITION 10 >= VALUES < 20; -- ALTER TABLE name RECOVER PARTITIONS ALTER TABLE my_table RECOVER PARTITIONS /* ALTER TABLE name [PARTITION (partition_spec)] SET { FILEFORMAT file_format | ROW FORMAT row_format | LOCATION 'hdfs_path_of_directory' | TBLPROPERTIES (table_properties) | SERDEPROPERTIES (serde_properties) } */ ALTER TABLE my_table SET FILEFORMAT parquet ; ALTER TABLE my_table PARTITION (date = '2023-01-01') SET FILEFORMAT orc; ALTER TABLE my_table SET ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; ALTER TABLE my_table SET LOCATION '/path/to/new_location'; ALTER TABLE my_table PARTITION (region = 'Europe') SET LOCATION '/path/to/europe_partition'; ALTER TABLE my_table SET TBLPROPERTIES ('comment' = 'This is a table'); ALTER TABLE my_table PARTITION (category = 'Books') SET TBLPROPERTIES ('compression' = 'gzip'); ALTER TABLE my_table SET SERDEPROPERTIES ('field.delim' = '|'); ALTER TABLE my_table PARTITION (date = '2023-01-01') SET SERDEPROPERTIES ('serialization.null.format' = '\N'); /* ALTER TABLE name colname ('statsKey'='val', ...) */ alter table t1 set column stats x ('numDVs'='2','numNulls'='0'); alter table t1 set column stats s ('numdvs'='3','maxsize'='4'); -- ALTER TABLE name [PARTITION (partition_spec)] SET { CACHED IN 'pool_name' [WITH REPLICATION = integer] | UNCACHED } ALTER TABLE my_table SET CACHED IN 'pool_name'; ALTER TABLE my_table PARTITION (date = '2023-01-01') SET CACHED IN 'pool_name'; ALTER TABLE my_table SET CACHED IN 'pool_name' WITH REPLICATION = 3 ; ALTER TABLE my_table PARTITION (date = '2023-01-01') SET CACHED IN 'pool_name' WITH REPLICATION = 2; ALTER TABLE my_table SET UNCACHED; ALTER TABLE my_table PARTITION (date = '2023-01-01') SET UNCACHED; -- example alter table historical_data drop partition (year < 1995); alter table historical_data drop partition (year < 1995, last_name like 'A%'); alter table historical_data drop partition (year = 1996 and month between 1 and 6); alter table fast_growing_data partition (year = 2016, month in (10,11,12)) set fileformat parquet; alter table d1.mobile rename to mobile; alter table d2.mobile rename to d3.mobile; alter table p1 add partition (month=1, day=1); alter table p1 add partition (month=1, day=2); alter table p1 add partition (month=2, day=1); alter table p1 add partition (month=2, day=2); alter table p1 partition (month=1, day=1) set location '/usr/external_data/new_years_day'; alter table t1 add partition (yy = 2016, mm = 2); alter table t1 add partition (yy = 2016, mm = 3); alter table t1 recover partitions; alter table analysis_data set tblproperties('numRows'='1001000000', 'STATS_GENERATED_VIA_STATS_TASK'='true'); alter table partitioned_data partition(year=2009, month=4) set tblproperties ('numRows'='30000', 'STATS_GENERATED_VIA_STATS_TASK'='true'); alter table partitioned_data set tblproperties ('numRows'='1030000', 'STATS_GENERATED_VIA_STATS_TASK'='true'); alter table t1 set column stats x ('numDVs'='2','numNulls'='0'); alter table t1 set column stats s ('numdvs'='3','maxsize'='4'); alter table optional_columns drop column a2; alter table optional_columns drop column a1; alter table p1 partition (month=2, day=2) set fileformat parquet; alter table partition_t add partition (y=2000); ALTER TABLE t1 ADD COLUMNS (y STRING ENCODING prefix_encoding); ALTER TABLE t1 ADD COLUMNS (z INT DEFAULT 10); ALTER TABLE t1 ADD COLUMNS (a STRING NOT NULL DEFAULT '', t TIMESTAMP COMPRESSION default_compression); alter table kt alter column s set encoding prefix_encoding; alter table kt alter x set block_size 2048; alter table kt alter column t set compression zlib;