跳到主要内容

Core 核心模块

odps-sdk-core 是 MaxCompute Java SDK 的核心模块,提供与 MaxCompute 服务交互的基础能力。通过该模块,用户可以管理项目空间中的各类资源(表、实例、函数、资源文件等),提交和管理 SQL 任务,以及进行数据通道(Tunnel)操作。

该模块是所有其他 SDK 模块的基础依赖,提供了统一的认证、网络通信和资源抽象层。

Maven 依赖

<dependency>
<groupId>com.aliyun.odps</groupId>
<artifactId>odps-sdk-core</artifactId>
<version>${odps.sdk.version}</version>
</dependency>

核心功能

功能说明
认证管理支持 AliyunAccount、StsAccount、BearerTokenAccount 等多种认证方式
项目管理创建、查询、配置 MaxCompute 项目空间
表管理表的创建、删除、Schema 查询、分区管理等
实例管理SQL/任务实例的提交、状态查询、结果获取
函数管理自定义函数的注册和管理
资源管理Jar、File、Table 等资源的上传和管理
SQL 执行通过 SQLTask 提交和执行 SQL 语句
Schema 管理MaxCompute Schema(命名空间)管理
Tunnel 集成内置 TableTunnel 数据通道支持

核心类

说明
OdpsSDK 入口类,持有认证信息和服务配置,提供访问各类资源集合的方法
Table表对象,提供 Schema 查询、分区管理、生命周期管理等操作
Instance实例对象,代表一个提交到 MaxCompute 的任务
Project项目空间对象,管理项目级别的配置和属性
SchemaSchema(命名空间)对象,用于组织表、函数等资源
Function自定义函数对象
Resource资源对象,包括 Jar、File、Table 等类型
SQLTaskSQL 任务工具类,提供便捷的 SQL 提交和执行方法

配置

基础配置

Account account = new AliyunAccount("accessId", "accessKey");
Odps odps = new Odps(account);
odps.setEndpoint("http://service.cn-hangzhou.maxcompute.aliyun.com/api");
odps.setDefaultProject("my_project");
odps.setCurrentSchema("my_schema");

RestClient 配置

配置项说明默认值
connectTimeout连接超时时间10 秒
readTimeout读取超时时间120 秒
retryTimes重试次数3

OdpsOptions

通过 Odps 对象的 getOptions() 方法获取和设置 SDK 全局选项。

使用示例

import com.aliyun.odps.Odps;
import com.aliyun.odps.Table;
import com.aliyun.odps.account.Account;
import com.aliyun.odps.account.AliyunAccount;
import com.aliyun.odps.task.SQLTask;

// 1. 初始化 Odps 对象
Account account = new AliyunAccount("accessId", "accessKey");
Odps odps = new Odps(account);
odps.setEndpoint("http://service.cn-hangzhou.maxcompute.aliyun.com/api");
odps.setDefaultProject("my_project");

// 2. 访问表
for (Table table : odps.tables()) {
System.out.println(table.getName());
}

// 3. 获取表 Schema
Table table = odps.tables().get("my_table");
table.reload();
System.out.println(table.getSchema());

// 4. 执行 SQL
Instance instance = SQLTask.run(odps, "SELECT * FROM my_table LIMIT 10;");
instance.waitForSuccess();

相关文档