AnalyticDB MySQL湖仓版(3.0)支持创建多种外表,包括:OSS外表、RDS MySQL外表、Tablestore外表、MaxCompute外表。
前提条件
湖仓版(3.0)集群内核版本需为3.1.8.0及以上版本。说明 如何查看集群内核版本,请参见如何查看实例版本信息。如需升级内核版本,请联系技术支持。
OSS外表
语法
CREATE EXTERNAL TABLE [IF NOT EXISTS] table_name
({column_name column_type})
[PARTITIONED BY (column_name column_type)]
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION 'oss://testBucketName/test_db/partition_table_test';
重要 不支持跨账号访问OSS外表。
参数说明
参数 | 说明 |
---|---|
table_name | 表名。表名的命名规则需符合命名约束,详细信息,请参见命名约束。 |
column_name | 列名。列名的命名规则需符合命名约束,详细信息,请参见命名约束。 |
column_type | 数据类型。 |
partitioned by (column_name string) | 分区列。当创建的外表为分区表时,需要配置该参数。 |
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' | 列分隔符。您可以指定任意符号作为列分隔符,例如:半角逗号(,)、半角分号(;)。 |
STORED AS TEXTFILE | 指定数据存储类型,取值:
|
LOCATION | OSS数据文件或文件夹的地址。建议文件夹地址以/ 结尾。说明 查询OSS数据文件或文件夹的地址时,请登录OSS管理控制台,在Bucket中文件管理页面找到您上传的文件,单击操作列的详情,复制文件名。 示例:
|
RDS MySQL外表
语法
CREATE EXTERNAL TABLE [IF NOT EXISTS] table_name
({column_name column_type})
ENGINE='engine'
TABLE_PROPERTIES='{
"url":"jdbc:mysql://mysql-vpc-address:3306/database",
"tablename":"table",
"username":"mysql-user-name",
"password":"mysql-user-password",
"charset":"utf8"
}';
参数说明
参数 | 说明 |
---|---|
table_name | 表名。表名的命名规则需符合命名约束,详细信息,请参见命名约束。 |
column_name | 列名。列名的命名规则需符合命名约束,详细信息,请参见命名约束。 |
column_type | 数据类型。 |
ENGINE | 外表的存储引擎。读写RDS MySQL数据时,取值为MYSQL。 |
TABLE_PROPERTIES | 外表属性。 |
url | RDS MySQL实例的内网地址(即VPC连接地址)和数据库名。如何获取RDS的内网地址,请参见查看或修改内外网地址和端口。 |
tablename | RDS MySQL的表名称。 |
username | RDS MySQL数据库的账号。 |
password | RDS MySQL数据库账号的密码。 |
charset | MySQL字符集,取值说明:
|
Tablestore外表
语法
CREATE EXTERNAL TABLE [IF NOT EXISTS] table_name
({column_name column_type})
ENGINE='OTS'
TABLE_PROPERTIES = '{
"mapped_name":"table_name",
"location":"https://w0****la.cn-hangzhou.vpc.tablestore.aliyuncs.com"
}';
参数说明
参数 | 说明 |
---|---|
table_name | 表名。表名的命名规则需符合命名约束,详细信息,请参见命名约束。 |
column_name | 列名。列名的命名规则需符合命名约束,详细信息,请参见命名约束。 |
column_type | 数据类型。 |
ENGINE='OTS’ | 外表的存储引擎。读写Tablestore数据时,取值为OTS。 |
mapped_name | Tablestore实例中的表名称。您可以登录表格存储控制台,在实例管理页面查看Tablestore实例的表名称。 |
location | Tablestore实例的VPC访问地址。您可以登录表格存储控制台,在实例管理页面查看实例的VPC访问地址。 |
MaxCompute外表
语法
CREATE EXTERNAL TABLE [IF NOT EXISTS] table_name
({column_name column_type})
ENGINE=’ODPS’
TABLE_PROPERTIES='{
"endpoint":"http://service.cn.maxcompute.aliyun-inc.com/api",
"accessid":"L*******FsE",
"accesskey":"CcwF********iWjv",
["partition_column":"column_name",]
"project_name":"project_name",
"table_name":"table"}';
参数说明
参数 | 说明 |
---|---|
table_name | 表名。表名的命名规则需符合命名约束,详细信息,请参见命名约束。 |
column_name | 列名。列名的命名规则需符合命名约束,详细信息,请参见命名约束。 |
column_type | 数据类型。 |
ENGINE='ODPS' | 外表的存储引擎。读写MaxCompute数据时,取值为ODPS。 |
endpoint | MaxCompute的EndPoint(域名节点)。 说明 仅支持通过VPC网络Endpoint访问MaxCompute。如何查看MaxCompute Endpoint,请参见Endpoint。 |
accessid | 阿里云账号或具备MaxCompute访问权限的RAM用户的AccessKey ID。 如何获取AccessKey ID和AccessKey Secret,请参见获取AccessKey信息。 |
accesskey | 阿里云账号或具备MaxCompute访问权限的RAM用户的AccessKey Secret。 如何获取AccessKey ID和AccessKey Secret,请参见获取AccessKey信息。 |
partition_column | 分区列。当创建的外表为分区表时,需要配置该参数。 |
project_name | MaxCompute项目的名称。 |
table_name | MaxCompute的表名称。 |
相关文档
- OSS外表:通过外表导入OSS数据至湖仓版。
- RDS MySQL外表:通过外表导入至湖仓版。
- Tablestore外表:通过外表导入Tablestore数据至湖仓版。
- MaxCompute外表:通过外表导入MaxCompute数据至湖仓版。