ALTER TABLE(外表)
云原生數據倉庫 AnalyticDB MySQL 版企業版及湖倉版的OSS分區外表支持通過ALTER TABLE
增加或刪除分區。
前提條件
集群的產品系列為企業版及湖倉版。
集群的內核版本為3.1.8.0及以上版本。
說明如何查看集群內核版本,請參見如何查看實例版本信息。如需升級內核版本,請聯系技術支持。
已創建OSS分區外表。創建方法,請參見CREATE EXTERNAL TABLE。
注意事項
本文僅適用于OSS分區外表。云原生數據倉庫 AnalyticDB MySQL 版內表和OSS非分區外表不支持通過本文的方法增加或刪除分區。
增加分區
通過ALTER TABLE ADD PARTITION可以手動在分區外表中添加特定的某個分區或某個多級分區。如果需要自動識別OSS路徑并添加分區,請參見MSCK REPAIR TABLE。
語法
ALTER TABLE table_name ADD PARTITION (partition_key=value[,...]) LOCATION 'location';
參數說明
參數 | 說明 |
| 表名。 |
| 增加的分區。 增加多級分區時,此處需配置多個等式( |
| 指定LOCATION為分區的OSS路徑。 例如,OSS文件的路徑為oss://testBucketName/testfolder/p1=20230613/data.csv。增加的分區為p1='20230613'。此時需指定 |
示例
示例1:增加分區
ALTER TABLE adb_external_db.partition_table ADD PARTITION (p1='20230613') LOCATION 'oss://testBucketName/testfolder/p1=20230613/';
示例2:增加多級分區
ALTER TABLE adb_external_db.partition_table ADD PARTITION (p1='20230613',p2='hangzhou') LOCATION 'oss://testBucketName/testfolder/p1=20230613/p2=hangzhou';
刪除分區
語法
ALTER TABLE table_name DROP PARTITION (partition_key=value[,...]);
參數說明
參數 | 說明 |
| 表名。 |
| 刪除的分區。 刪除多級分區時,此處需配置多個等式( |
示例
示例1:刪除分區
ALTER TABLE adb_external_db.partition_table DROP PARTITION (p1='20230613');
示例2:刪除多級分區
ALTER TABLE adb_external_db.partition_table DROP PARTITION (p1='20230613',p2='hangzhou');