7.4.11 阿里云 MaxCompute¶
MaxCompute
是阿里云上的企业级 SaaS
( Software as a Service
)模式云数据仓库。
1 连接 MaxCompute¶
1.1 示例¶
SQL | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
1.2 创建Catalog的基本属性¶
参数 | 说明 |
---|---|
type | 固定为 max_compute. |
mc.default.project | 想要访问的 MaxCompute 项目名称。可以在 MaxCompute 项目列表 中创建和管理。 |
mc.access_key | AccessKey。可以在 阿里云控制台 中创建和管理。 |
mc.secret_key | SecretKey。可以在 阿里云控制台 中创建和管理。 |
mc.endpoint | MaxCompute 开通的地域。请参照下文的如何获取Endpoint 和 Quota来配置。 |
1.3 创建Catalog的可选属性¶
参数 | 默认值 | 说明 |
---|---|---|
mc.quota | pay-as-you-go | Quota名称。请参照下文的 如何获取Endpoint 和 Quota 来配置。 |
mc.split_strategy | byte_size | 设置split的划分方式, 可设置为按照字节大小划分 byte_size 和按照数据行数划分 row_count |
mc.split_byte_size | 268435456 | 每个split读取的文件大小,单位为字节,默认为256MB,当且仅当 "mc.split_strategy" = "byte_size" 时生效 |
mc.split_row_count | 1048576 | 每个split读多少行,当且仅当 "mc.split_strategy" = "row_count" 时生效 |
2 列类型映射¶
MaxCompute | Doris | 备注 |
---|---|---|
TINYINT | TINYINT | |
TINYINT | TINYINT | |
SMALLINT | SMALLINT | |
INT | INT | |
BIGINT | BIGINT | |
BINARY | 不支持 | |
FLOAT | FLOAT | |
DOUBLE | DOUBLE | |
DECIMAL(precision,scale) | DECIMAL(precision,scale) | |
VARCHAR(n) | VARCHAR(n) | |
CHAR(n) | CHAR(n) | |
STRING | STRING | |
DATE | DATE | |
DATETIME | DATETIME(3) | 可以通过SET [global] time_zone = 'Asia/Shanghai'来指定时区 |
TIMESTAMP | 不支持 | |
TIMESTAMP_NTZ | DATETIME(6) | MaxCompute 的 TIMESTAMP_NTZ 精度为9, Doris 的 DATETIME 最大精度只有6,故读取数据时会将多的部分直接截断。 |
BOOLEAN | BOOLEAN | |
ARRAY | ARRAY | |
MAP | MAP | |
STRUCT | STRUCT | |
JSON | 不支持 |
3 使用须知¶
-
自
3.0.3
版本开始,MaxCompute Catalog
基于开放存储SDK
开发。 -
开放存储
SDK
的使用有一定的限制,请参照该文档中使用限制的章节。 -
MaxCompute
中的Project
相当于Doris
中的DataBase
。
4 如何获取 Endpoint 和 Quota¶
-
如果您使用数据传输服务独享资源组,请参照该文档中
使用独享数据服务资源组
章节中的2.授权
来开启相应的权限,并在配额(Quota
)管理列表中,查看并复制对应的QuotaName
,指定"mc.quota" = "QuotaName"
。此时您可以选择VPC
或公网来访问MaxCompute
,但是走VPC
的带宽有保障,公网带宽资源小。 -
如果您使用按量付费,请参照该文档中使用开放存储(按量付费)的章节,来开启开放存储(
Storage API
)开关,并给Ak
,SK
对应的用户赋予权限。此时您的mc.quota
为默认值pay-as-you-go
,不需要额外指定该值。此时您只能使用VPC
来访问MaxCompute
。 -
通过第
1/2
步,您已经知道该如何访问MaxCompute
,下面需要根据阿里云Endpoints
文档中的地域Endpoint
对照表来配置mc.endpoint
。使用VPC
访问的用户,需要根据各地域Endpoint
对照表(阿里云VPC
网络连接方式)表中的VPC
网络Endpoint
列来配置mc.endpoint
。使用公网访问的用户,可以选择各地域Endpoint
对照表(阿里云经典网络连接方式)表中的经典网络Endpoint
列、或者选择各地域Endpoint
对照表(外网连接方式)表中的外网Endpoint
列来配置mc.endpoint
。