e203f1a48a
* feat(impala): add impala sqlLexer * feat(impala): add impala grammar * feat(impala): add alter table sql * feat(impala): update alter table sql * feat(impala): add alter db sql * feat(impala): add alter view sql * feat(impala): add compute stats/comment statement and update partition_desc for alter table * feat(impala): add drop statement sql * feat(impala): add revoke and grant sql * feat(impala): add create db/function/role/view sql * feat(impala): add describe/explain/invalidata_metadata/load_data sql * feat(impala): add refresh/set/shutdown sql * feat(impala): add truncate_table/use/values sql * fix(impala): update shutdown and invaliddate_metadata * feat(impala): add show/update/upsert sql * feat(impala): add create/insert sql * feat(impala): add select and delete sql * feat(impala): add impala tokens and fix todo * feat(impala): update impalaparser and some test unit * feat(impala): add syntax suggestion * feat(impala): add syntax suggestion * feat(impala): update test unit * feat(impala): remove reference * fix(impala): add statement for sqlname and collect tableName * fix(impala): fix syntax suggestion unit test * fix(impala): update syntax suggestion and collect column * feat(impala): add collect column create
133 lines
6.9 KiB
SQL
133 lines
6.9 KiB
SQL
-- 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; |