CREATE EXTERNAL DATABASE
云原生数据仓库 AnalyticDB MySQL 版支持通过CREATE EXTERNAL DATABASE
创建外部数据库。本文介绍CREATE EXTERNAL DATABASE
的语法、注意事项以及示例。
前提条件
集群的产品系列为企业版、基础版或湖仓版。
跨账号创建OSS外部数据库时,需要先创建RAM角色,修改RAM角色的信任策略,并对该角色授予AliyunOSSReadOnlyAccess权限。具体操作,请参见跨账号授权。
重要如果需要对OSS外表执行INSERT等数据更新操作,需为该RAM角色授予AliyunOSSFullAccess权限。
创建Paimon外库时,集群内核版本需为3.2.4.0及以上。
说明请在云原生数据仓库AnalyticDB MySQL控制台集群信息页面的配置信息区域,查看和升级内核版本。
注意事项
Spark引擎不支持通过
CREATE EXTERNAL DATABASE
创建外部数据库,请使用XIHE引擎。该命令创建的外部数据库中只能通过
CREATE EXTERNAL TABLE
语法创建外表。语法详情,请参见CREATE EXTERNAL TABLE。仅支持跨账号创建OSS外部数据库和外表,不支持创建其他类型的外部数据库和外表(例如:RDS MySQL外表、MongoDB外表等)。
创建Paimon外库时,数据库名称需为小写字母,并且需要和Paimon文件名称(*.db)相同。
语法
CREATE EXTERNAL DATABASE [IF NOT EXISTS] <db_name>
[WITH DBPROPERTIES(
catalog='oss',
adb.paimon.warehouse='<oss_location>',
location = '<oss_location>',
cross_account_accessing_arn= '<ARN>')]
参数
参数 | 是否必填 | 说明 |
db_name | 是 | 数据库名称。 |
catalog | 否 说明 仅跨账号创建OSS外库时填写。 | 数据库引擎。跨账号创建OSS外库时固定填写为OSS。 |
adb.paimon.warehouse | 否 说明 仅创建Paimon外库时填写。 | Paimon格式文件存储的根路径,即 例如:Paimon文件的存储路径为 |
location | 否 | 指定OSS文件或目录所在的路径。
|
cross_account_accessing_arn | 否 说明 仅跨账号创建OSS外库时填写。 | RAM角色的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( adb.paimon.warehouse='oss://testBucketName/paimon/', location = 'oss://testBucketName/paimon/paimon_complex.db/')