语法结构
CREATE SCHEMA [IF NOT EXISTS] db_name
with dbproperties (
CATALOG = <catalog>,
LOCATION = <endpoint>
)
参数名称 | 参数说明 |
---|---|
CATALOG | DATABASE的类型,目前支持如下类型:
|
LOCATION | 连接信息。LOCATION格式会根据Schema的类型发生变化。 |
不同数据源的语法示例
创建hive数据库
CREATE DATABASE oss_log_schema with DBPROPERTIES(
catalog='hive',
location = 'oss://analyticdb-bucket/log/'
);
创建MySQL数据库
CREATE SCHEMA mysql_db WITH DBPROPERTIES (
CATALOG = 'mysql',
LOCATION = 'jdbc:mysql://rm-2zer0vg58mfofake.mysql.rds.aliyuncs.com:3306/dla_test',
USER = 'dla_test',
PASSWORD = 'the-fake-password',
VPC_ID = 'vpc-2zeij924vxd303kwifake',
INSTANCE_ID = 'rm-2zer0vg58mfo5fake'
);
参数名称 | 参数说明 |
---|---|
VPC_ID | RDS所在的VPC的ID。 |
INSTANCE_ID | RDS的实例ID。 |
创建SQL Server数据库
CREATE SCHEMA `sqlserver_db` WITH DBPROPERTIES
(
CATALOG = 'sqlserver',
LOCATION = 'jdbc:sqlserver://rm-bp15g1r5jf90hfake.sqlserver.rds.aliyuncs.com:3433;DatabaseName=dla_test',
USER='dla_test1',
PASSWORD='this-is-not-a-real-password',
INSTANCE_ID = 'rm-bp15g1r5jf90fake',
VPC_ID = 'vpc-bp1adypqlcn535yrdfake'
);
说明 LOCATION要指定数据库的名字,您可以通过
DatabaseName=dla_test
的方式来指定。这是由SQL Server JDBC URL定义的,不是由DLA定义的。
创建PostgreSQL数据库
CREATE SCHEMA `postgresql_db` WITH DBPROPERTIES
(
CATALOG = 'postgresql',
LOCATION = 'jdbc:postgresql://rm-bp1oo49r6j3hvfake.pg.rds.aliyuncs.com:3433/dla_test',
USER='dla_test',
PASSWORD='this-is-not-a-real-password',
INSTANCE_ID = 'rm-bp1oo49r6j3hfake',
VPC_ID = 'vpc-bp1adypqlcn535yrfake'
);
创建Oracle数据库
CREATE DATABASE `oracle_db`
WITH DBPROPERTIES (
catalog = 'oracle',
location = 'jdbc:oracle:thin:@//127.0.0.01:1521/XE',
instance = 'HR',
user = 'hello',
password = 'world'
)
创建OTS数据库
create database ots_db with dbproperties (
catalog = 'ots',
location = 'https://hz-tpch-1x-vol.cn-hangzhou.vpc.tablestore.aliyuncs.com',
instance = 'hz-tpch-1x-vol'
);
参数名称 | 参数说明 |
---|---|
location | ots的endpoint。 |
instance | 指定instance名。由于endpoint可以不带实例名,最终映射到DLA的schema。 |
创建ADB2.0数据库
CREATE DATABASE `ads2_db`
WITH DBPROPERTIES (
catalog = 'ads',
location = 'jdbc:mysql://adb-xxx-vpc.cn-beijing-f.ads.aliyuncs.com:10001/xxx',
instance = 'adb_tongguan_test_52265',
user = 'user001',
password = 'pass001'
)
参数名称 | 参数说明 |
---|---|
location | ADB2.0服务器的域名和端口。 |
instance | ADB2.0的实例。 |
user | ADB2.0的用户名。 |
password | ADB2.0的密码。 |
创建ADB3.0数据库
CREATE DATABASE `adb3_db`
WITH DBPROPERTIES (
catalog = 'adb3',
location = 'jdbc:mysql://am-bp15huqy8t1118x4590650.ads.aliyuncs.com/adb3_it_db',
user = 'dla_test',
password = 'openanalytics@2018',
vpc_id = 'vpc-bp1ll9szezdnbrob9auhs',
instance_id = 'am-bp15huqy8t1118x45'
);
参数名称 | 参数说明 |
---|---|
location | ADB3.0服务器的域名和端口。 |
user | ADB3.0的用户名。 |
password | ADB3.0的密码。 |
vpc_id | ADB3.0所在的VPC的ID。 |
instance_id | ADB3.0的实例ID。 |
创建ADBPG数据库
CREATE SCHEMA dla_adbpg_test_db
WITH DBPROPERTIES (
CATALOG = 'adbpg',
LOCATION = 'jdbc:postgresql://gp-bp13******.gpdb.rds.aliyuncs.com:3432/db-name',
USER = 'user-name',
PASSWORD = 'password',
INSTANCE_ID = 'gp-bp*******',
VPC_ID = 'vpc-bp********'
);
参数名称 | 参数说明 |
---|---|
location | adbpg服务器的域名和端口。 |
user | adbpg的用户名。 |
password | adbpg的密码。 |
instance_id | adbpg的实例ID。 |
vpc_id | adbpg所在的VPC的ID。 |
创建MongoDB数据库
CREATE DATABASE `mongo_test`
WITH DBPROPERTIES (
catalog = 'mongodb',
location = 'mongodb://<your-user-name>:<your-password>@dds-bp1694axxxxxxxx.mongodb.rds.aliyuncs.com:3717,dds-bp1694ayyyyyyyy.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=zzzzz',
database = 'mongo_test',
vpc_id = 'vpc-aaaaaaa',
instance_id = 'dds-bbbbbbb'
);
参数名称 | 参数说明 |
---|---|
location | MongoDB的ConnectionString,里面包含了你的用户名、密码、要连接的MongoDB的地址、使用的认证数据库等等。 |
database | MongoDB的底层库。 |
vpc_id | MongoDB所在的VPC的ID。 |
instance_id | MongoDB的实例ID。 |
创建Redis数据库
CREATE DATABASE `redis_db`
WITH DBPROPERTIES (
catalog = 'redis',
location = 'r-xxxxx.redis.rds.aliyuncs.com:6379/hello_',
password = 'xxxxx',
vpc_id = 'vpc-xxxxx',
instance_id = 'r-xxxxxx'
)
参数名称 | 参数说明 |
---|---|
location | redis服务器的域名和端口。 |
password | redis的密码。 |
vpc_id | redis所在的VPC的ID。 |
instance_id | redis的实例ID。 |