阿里云 ODPS(MaxCompute)产品简介与使用指引

阿里云 ODPS(MaxCompute)产品简介与使用指引

阿里云自研的大数据计算平台 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 计费方式。

后续操作

启动客户端成功后,即可执行如建表、查询、导入导出等数据分析任务。详细命令语法请参考:

MaxCompute SQL 参考文档

Tunnel 数据导入导出

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;

相关文章

手机淘宝买家晒单怎么弄?手机淘宝买家晒单怎么弄出来
【2025】10款平價小白鞋推薦:風格、材質、版型挑選技巧全攻略
水滴筹怎么搜索病人?超详细操作步骤,30秒帮你找到目标筹款人