AnalyticDB for MySQL は、CREATE EXTERNAL DATABASE 文を使用した外部データベースの作成をサポートしています。このトピックでは、CREATE EXTERNAL DATABASE 文の構文、注意事項、および例について説明します。
前提条件
AnalyticDB for MySQL の Enterprise Edition、Basic Edition、または Data Lakehouse Edition のクラスターが作成されていること。
クロスアカウントで OSS 外部データベースを作成するには、まず RAM ロールを作成し、その信頼ポリシーを変更して、ロールに AliyunOSSReadOnlyAccess 権限を付与する必要があります。詳細については、「クロスアカウント権限付与」をご参照ください。
重要OSS 外部テーブルで INSERT を実行する場合は、RAM ロールに AliyunOSSFullAccess 権限を付与してください。
Paimon 外部データベースを作成するには、クラスターのバージョンが 3.2.6.1 以降である必要があります。
説明マイナーバージョンを表示および更新するには、AnalyticDB for MySQL コンソールの クラスター情報 ページにある 構成情報 セクションに移動します。
注意事項
Spark エンジンは
CREATE EXTERNAL DATABASE文をサポートしていません。XIHE エンジンを使用する必要があります。このコマンドで作成された外部データベースでは、
CREATE EXTERNAL TABLE構文を使用してのみ外部テーブルを作成できます。詳細については、「CREATE EXTERNAL TABLE」をご参照ください。クロスアカウントでの作成は、OSS の外部データベースとテーブルでのみサポートされています。この操作は、RDS for MySQL や MongoDB の外部テーブルなど、他のタイプではサポートされていません。
構文
CREATE EXTERNAL DATABASE [IF NOT EXISTS] <db_name>
[WITH DBPROPERTIES(
catalog='oss',
location = '<oss_location>',
cross_account_accessing_arn= '<ARN>')]パラメーター
パラメーター | 必須 | 説明 |
db_name | はい | データベースの名前。 |
catalog | いいえ 説明 このパラメーターは、クロスアカウントで OSS 外部データベースを作成する場合にのみ必須です。 | データベースエンジン。クロスアカウントで OSS 外部データベースを作成する場合は、このパラメーターを oss に設定します。 |
location | いいえ | OSS ファイルまたはフォルダのパス。
|
cross_account_accessing_arn | いいえ 説明 このパラメーターは、クロスアカウントで OSS 外部データベースを作成する場合にのみ必須です。 | RAM ロールの Alibaba Cloud リソース名 (ARN)。ARN の表示方法の詳細については、「RAM ロールの情報の表示」をご参照ください。 |
例
同一アカウント内に外部データベースを作成します。
CREATE EXTERNAL DATABASE IF NOT EXISTS adb_demo;CREATE EXTERNAL DATABASE IF NOT EXISTS db_external_test WITH DBPROPERTIES( location = 'oss://testBucketname/person');
クロスアカウントで外部データベースを作成します。
CREATE EXTERNAL DATABASE IF NOT EXISTS adb_demo1 WITH DBPROPERTIES( catalog='oss', location = 'oss://testBucketname/test/', cross_account_accessing_arn= 'acs:ram::16274839*****:role/username');Paimon 外部データベースを作成します。
CREATE EXTERNAL DATABASE IF NOT EXISTS paimon_complex WITH DBPROPERTIES(location = 'oss://testBucketName/paimon/paimon_complex.db/')