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 外部データベースおよび外部テーブルのみに対応しています。
構文
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/')