AnalyticDB for MySQL Data Lakehouse Edition (V3.0) を使用すると、ALTER TABLE
ステートメントを実行して、Object Storage Service (OSS) 外部テーブルにパーティションを追加または削除できます。
前提条件
Data Lakehouse Edition (V3.0) クラスターが作成されます。
クラスターのマイナーエンジンバージョンは3.1.8.0以降です。
説明クラスターのマイナーバージョンをクエリする方法については、AnalyticDB for MySQLクラスターのバージョンを照会するにはどうすればよいですか? クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。
OSS外部テーブルが作成されます。 詳細については、「EXTERNAL TABLEの作成」をご参照ください。
使用上の注意
構文は、OSS外部テーブルへのパーティションの追加または削除にのみ適用されます。 この構文は、AnalyticDB for MySQLテーブルまたはパーティション化されていないOSS外部テーブルには適用されません。
パーティションの追加
ALTER TABLE ADD PARTITIONステートメントを使用して、パーティションまたはマルチレベルパーティションを手動で追加できます。 OSSパスを自動的に識別し、パーティションを追加する方法については、「MSCK REPAIR TABLE」をご参照ください。
構文
ALTER TABLE table_name ADD PARTITION (partition_key=value[,...]) LOCATION 'location';
パラメーター
パラメーター | 説明 |
| 外部テーブルの名前。 |
| 追加するパーティション。The partition that you want to add. マルチレベルパーティションを追加するには、複数のパーティションを指定します。 複数のパーティション名はコンマ (,) で区切ります。 |
| パーティションの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[,...]);
パラメーター
パラメーター | 説明 |
| 外部テーブルの名前。 |
| 削除するパーティション。The partition that you want to remove. マルチレベルパーティションを削除するには、複数のパーティションを指定します。 複数のパーティション名はコンマ (,) で区切ります。 |
例
例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');
関連ドキュメント
外部テーブルを使用してOSSからAnalyticDB for MySQL data Lakehouse Editionにデータをインポート