阿里云自研的大数据计算平台 ODPS(Open Data Processing Service),现已正式更名为 MaxCompute,是一款面向大规模结构化数据存储与分析的企业级云服务。MaxCompute 提供高性能、低成本的海量数据仓库解决方案,适用于批量数据的存储、处理和分析任务。本文将从产品简介、使用条件、安装配置到常见问题处理,为您全面介绍如何使用阿里云 MaxCompute 平台。
产品概述
MaxCompute(原名 ODPS)作为阿里云核心的大数据平台,具备以下特性:
- PB级别数据处理能力:支持海量数据的存储与高并发分析。
- 高性能 SQL 引擎:使用类 SQL 的脚本语言 ODPS SQL,方便数据开发与分析。
- 资源隔离与多租户安全机制:支持多项目管理,灵活进行权限控制。
- 与生态集成良好:支持与 DataWorks、EMR、OSS、Function Compute 等产品无缝集成。
前提条件
在开始使用 MaxCompute 前,请确保已满足以下条件:
- 已开通阿里云账号,并拥有 RAM 用户的 AccessKey 权限。
- 已在阿里云控制台创建 MaxCompute 项目。
- 使用设备已安装 Java 8 及以上版本(推荐使用 LTS 版本)。
- 已获取项目的 Endpoint 和相关配置信息。
使用方式
MaxCompute 支持多种使用方式,用户可根据自身习惯选择合适的访问工具:
| 工具 | 适用场景 | 特点 |
|---|---|---|
| MaxCompute 客户端 | 命令行操作、自动化脚本 | 轻量级、灵活 |
| DataWorks | 可视化数据开发 | 图形界面、支持调度与权限管理 |
| MaxCompute Studio(IDE 插件) | 本地开发、调试 | 支持代码补全与本地调试 |
| SDK(Java、Python 等) | 系统集成开发 | API 接口丰富,适合二次开发 |
安装与配置 MaxCompute 客户端
下载与解压
- 下载 MaxCompute 客户端安装包(GitHub 下载地址)。
- 解压后目录包含
bin/、conf/、lib/、plugins/等子目录。
配置 odps_config.ini 文件
在 conf/ 目录下修改 odps_config.ini 文件,关键配置如下:
| 参数 | 是否必填 | 示例 | 描述 |
|---|---|---|---|
| project_name | 是 | example_project_dev | MaxCompute 项目名称 |
| access_id | 是 | AKIDEXAMPLE | RAM 用户的 AccessKey ID |
| access_key | 是 | SECRETEXAMPLE | RAM 用户的 AccessKey Secret |
| end_point | 是 | http://service.cn-hangzhou.maxcompute.aliyun.com/api | 区域对应的 Endpoint |
| log_view_host | 否 | http://logview.odps.aliyun.com | 作业日志查看地址 |
| use_instance_tunnel | 否 | True | 是否使用 Instance Tunnel |
说明:请根据所使用地域选择正确的 Endpoint,具体可参见 阿里云官方 Endpoint 文档。
启动客户端
Windows 用户双击 bin/odpscmd.bat,macOS/Linux 用户运行 bin/odpscmd 脚本,即可启动客户端。
成功连接后,终端将显示类似如下信息:
Welcome to MaxCompute
Project: example_project_dev
Endpoint: http://service.cn-hangzhou.maxcompute.aliyun.com/api

常用命令参考
| 功能 | 命令 | 说明 |
|---|---|---|
| 查看命令帮助 | help; |
或简写 h; |
| 当前用户信息 | whoami; |
查看账号、IP、项目等信息 |
| 退出客户端 | quit; |
或简写 q; |
| 执行 SQL | select * from table_name; |
查询数据表内容 |
| 脚本执行 | -f script.sql |
批量执行 SQL 脚本 |
| 单行命令执行 | -e "SQL;" |
执行一条命令 |
提示:如果需要关闭 SQL 查询结果表头,在命令前执行:
set odps.sql.select.output.format={
"needHeader":false};
常见问题与解决方法
| 报错信息 | 原因分析 | 解决建议 |
|---|---|---|
no java found |
Java 未安装或未设置环境变量 | 安装 Java 8+ 并配置环境变量 |
Project not found |
项目名称错误 | 确认配置文件中 project_name 的拼写 |
Access Denied |
RAM 用户未加入项目 | 在控制台授权用户访问目标项目 |
connect timed out |
Endpoint 配置错误 | 请使用与网络环境匹配的 Endpoint |
找不到主类 com.aliyun.openservices.odps.console.ODPSConsole |
客户端目录名包含空格 | 重命名为不包含空格的目录路径 |
注意事项
- 不同版本客户端可能存在命令兼容性差异,请以GitHub版本说明为准。
- 客户端默认编码为 UTF-8,若终端环境为 GBK 等其他编码,可能导致中文显示异常。
- 通过命令行执行操作可能会产生成本,计费规则详见MaxCompute 计费方式。
后续操作
启动客户端成功后,即可执行如建表、查询、导入导出等数据分析任务。详细命令语法请参考:
ODPS 基本概念回顾
- ODPS (Open Data Processing Service) 是阿里云推出的分布式大数据计算平台,又名 MaxCompute。
- 它支持 SQL 查询、MapReduce、Graph、Python SDK、Tunnel 导入导出等接口。
- 典型应用场景:日志分析、用户画像、离线统计、机器学习数据准备等。
项目配置文件示例(使用 odpscmd 工具)
当你使用阿里云提供的 odpscmd CLI 工具时,可以使用如下 .odps_config 配置文件:
# ~/.odps_config
[odps]
# MaxCompute Project 名称
project_name = your_project_name
# 阿里云 Access Key
access_id = your_access_id
access_key = your_access_key
# EndPoint,一般中国区为如下地址
endpoint = http://service.cn-hangzhou.maxcompute.aliyun.com/api
# Tunnel 服务地址(可选)
tunnel_endpoint = http://dt.cn-hangzhou.maxcompute.aliyun.com
# 默认 SQL 命令执行结果是否显示
logview_host = https://logview.odps.aliyun.com
# 默认资源路径
default_job_priority = 9
使用命令行执行 SQL:
odpscmd -c "SELECT COUNT(*) FROM user_log;" -f ~/.odps_config
ODPS SQL 示例

示例 1:创建表
CREATE TABLE user_log (
user_id STRING,
action STRING,
event_time DATETIME
)
PARTITIONED BY (dt STRING);
导入数据(使用 Tunnel 命令行或 DataWorks 上传)
tunnel upload user_log.txt user_log/dt=20250722
查询指定分区数据
SELECT user_id, COUNT(*) AS action_count
FROM user_log
WHERE dt = '20250722'
GROUP BY user_id;
创建视图
CREATE VIEW active_users AS
SELECT user_id
FROM user_log
WHERE dt = '20250722' AND action = 'login';
多分区查询
SELECT *
FROM user_log
WHERE dt BETWEEN '20250720' AND '20250722';
插入分区表
INSERT OVERWRITE TABLE user_log PARTITION (dt='20250722')
SELECT * FROM staging_user_log;