MaxCompute
接入阿里云 MaxCompute(ODPS)进行分析。MaxCompute 采用原生查询:SQL 下推到 MaxCompute 引擎,仅返回结果。适合 不便挂载到本地引擎的超大表。
适用场景
- 存放于 MaxCompute 的大规模分析表。
- 希望计算保留在 MaxCompute 内、对分区表的报表分析。
由于是原生连接器,MaxCompute 数据集以 MaxCompute 自身 SQL 方言查询,且不能与其他连接器的数据集在同一查询中 联接。
准备工作
准备一个阿里云 AccessKey(ID 与 Secret),归属于一个 RAM 用户,具备:
- 对目标 MaxCompute 项目及其表的读权限。
- 项目成员身份(非项目成员的 RAM 用户无法列出或读取其表)。
请授予允许读取所需表的最小权限。
连接配置
| 字段 | 必填 | 说明 |
|---|---|---|
| Endpoint | 是 | 所在区域的 MaxCompute 服务端点,如 http://service.cn-hangzhou.maxcompute.aliyun.com/api。 |
| Project | 是 | MaxCompute 项目名。 |
| AccessKey ID | 是 | RAM 用户的 AccessKey ID。 |
| AccessKey Secret | 是 | AccessKey Secret。加密存储,保存后不再显示。 |
测试与保存
填写字段并点击测试连接。该测试会验证项目存在且以所给凭据可访问,而不仅是端点有响应。成功后选择要导入的表。
能力与限制
- 执行模型: 原生。查询在 MaxCompute 中运行、结果返回 Datyo,不支持跨源联接。
- SQL 方言: MaxCompute(ODPS)SQL。Agent 为 MaxCompute 数据集生成该方言的 SQL。
- 访问: 只读分析。
处理分区表
MaxCompute 通常对大表强制分区裁剪。分析分区表时,请将查询约束到具体分区(例如某个时间范围),而非扫描全部分区, 既为控制成本,也为满足数据源的限制。可在表的列描述或工作空间的业务说明中 描述分区方式,以便 Agent 加上恰当的分区过滤条件。
常见排错
- 连接显示成功但查询失败——确认 RAM 用户是项目成员且能读取具体表,而不仅是 AccessKey 有效。
- 权限拒绝——AccessKey 缺少对该表的读权限,请在项目级或表级授予。
- 全表扫描被拒——为分析加上分区过滤;对分区表的无界扫描会被数据源阻止。
- 区域错误——将 Endpoint 设为项目所在区域。