跳到主要内容

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();

相关文档​