SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

Similar documents
EJB-Programming-4-cn.doc


开放数据处理服务 ODPS 批量数据通道

EJB-Programming-3.PDF

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

《大话设计模式》第一章

untitled

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

chp6.ppt

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

Microsoft Word - ch04三校.doc

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Microsoft Word - Learn Objective-C.doc

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

Chapter 9: Objects and Classes

云数据库 RDS SDK

全国计算机技术与软件专业技术资格(水平)考试

JavaIO.PDF

无类继承.key

untitled

Microsoft Word 電腦軟體設計.doc

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

六盘水人资社保发〔2013〕137号

Hive:用Java代码通过JDBC连接Hiveserver

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

電機工程系認可證照清單 /7/1

Microsoft Word - 01.DOC

Java

Chapter 9: Objects and Classes

基于ECO的UML模型驱动的数据库应用开发1.doc

epub83-1

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

untitled

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

FileMaker 16 ODBC 和 JDBC 指南

FileMaker 15 ODBC 和 JDBC 指南

Guava学习之Resources

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的

untitled

Learning Java

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

输入 project name 选择完成

1.5招募说明书(草案)

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

Android Android Android SDK iv

untitled

Cover-3.indd, page Normalize

人 間 菩 提 Part 1 人 間 菩 提 Part 2 清 涼 菩 提 正 覺 修 行 清 心 發 願 自 重 ----


FP.pdf

Microsoft Word - Broker.doc

untitled

附录J:Eclipse教程

Swing-02.pdf

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

Microsoft PowerPoint - 09Future

软件工程文档编制

Microsoft PowerPoint - ch6 [相容模式]

untitled

3 Driver do Microsoft Access (*.mdb) hisdata IFIX 1.4

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

untitled

untitled

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO

untitled

Microsoft Word - 新1-12.doc

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明

新版 明解C++入門編

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

提问袁小兵:

(HMI) IO A

javaexample-02.pdf

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

BPS6.0 Web服务集成和短流程功能使用手册

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

目 录 / CATALOG 一 桌 面 网 站 接 入 1. JAVASCRIPT 网 页 插 件 接 入 2. JS 代 码 操 作 指 引 3. 网 页 链 接 独 立 页 面 接 入 4. 网 页 链 接 接 入 操 作 指 引 5. 自 定 义 桌 面 网 站 接 入 图 标 颜 色 等 0

使用SQL Developer

天津天狮学院关于修订2014级本科培养方案的指导意见

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

RUN_PC連載_12_.doc

java2d-4.PDF

mvc

使用MapReduce读取XML文件

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

ASP.NET实现下拉框二级联动组件

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

jsp

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

计 算 机 系 统 应 用 年 第 25 卷 第 4 期 线 程 的 复 用 [2,3]. 通 常 情 况 下, 服 务 器 端 程 序 在 启 动 时 创 建 若 干 数 量 的 线 程 对 象 并 缓 存 起 来, 此 时 它 们 处 于

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型

Transcription:

开放数据处理服务 ODPS SDK

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些 Util 封装, 搜索关键词 "odps-sdkcommons" UDF 功能的主体接口, 搜索关键词 "odps-sdkudf" MapReduce Java SDK, 搜索关键词 "odps-sdkmapred" Graph Java SDK, 搜索关键词 "odps-sdk-graph" AliyunAccount 阿里云认证账号 输入参数为 accessid 及 accesskey, 是阿里云用户的身份标识和认证密钥 此类用来初始化 Odps Odps ODPS SDK 的入口, 用户通过此类来获取项目空间下的所有对象集合, 包括 : Projects,Tables,Resources,Functions,Instances 用户可以通过传入 AliyunAccount 实例来构造 ODPS 对象 程序示例如下 : for (Table t : odps.tables()) { 1

Projects ODPS 中所有项目空间的集合 集合中的元素为 Project 程序示例如下 : Project p = odps.projects().get("my_exists"); p.reload(); Map<String, String> properties = prj.getproperties();... Project 对项目空间信息的描述, 可以通过 Projects 获取相应的项目空间 SQLTask 用于运行 处理 SQL 任务的接口 可以通过 run 接口直接运行 SQL run 接口返回 Instance 实例, 通过 Instance 获取 SQL 的运行状态及运行结果 程序示例如下, 仅供参考 : import java.util.list; import com.aliyun.odps.instance; import com.aliyun.odps.odps; import com.aliyun.odps.odpsexception; import com.aliyun.odps.account.account; import com.aliyun.odps.account.aliyunaccount; import com.aliyun.odps.data.record; import com.aliyun.odps.task.sqltask; public class testsql { private static final String accessid = ""; private static final String accesskey = ""; private static final String endpoint = "http://service.odps.aliyun.com/api"; private static final String project = ""; private static final String sql = "select category from iris;"; public static void main(string[] args) { Account account = new AliyunAccount(accessId, accesskey); odps.setendpoint(endpoint); odps.setdefaultproject(project); 2

Instance i; try { i = SQLTask.run(odps, sql); i.waitforsuccess(); List<Record> records = SQLTask.getResult(i); for(record r:records){ System.out.println(r.get(0).toString()); catch (OdpsException e) { e.printstacktrace(); 如果用户想创建表, 需要通过 SQLTask 接口, 而不是 Table 接口 用户需要将创建表 (CREATE TABLE) 的语句传入 SQLTask Instances Instances ODPS 中所有实例 (Instance) 的集合 集合中的元素为 Instance 程序示例如下 : for (Instance i : odps.instances()) { Instance 对实例信息的描述, 可以通过 Instances 获取相应的实例 程序示例如下 : 3

Instance ins = odps.instances().get("instance id"); Date starttime = instance.getstarttime(); Date endtime = instance.getendtime();... Status instancestatus = instance.getstatus(); String instancestatusstr = null; if (instancestatus == Status.TERMINATED) { instancestatusstr = TaskStatus.Status.SUCCESS.toString(); Map<String, TaskStatus> taskstatus = instance.gettaskstatus(); for (Entry<String, TaskStatus> status : taskstatus.entryset()) { if (status.getvalue().getstatus()!= TaskStatus.Status.SUCCESS) { instancestatusstr = status.getvalue().getstatus().tostring(); break; else { instancestatusstr = instancestatus.tostring();... TaskSummary summary = instance.gettasksummary("instance name"); String s = summary.getsummarytext(); Tables ODPS 中所有表的集合 集合中的元素为 Table 程序示例如下 : for (Table t : odps.tables()) { 4

Table 对表信息的描述, 可以通过 Tables 获取相应的表 程序示例如下 : Table t = odps.tables().get("table name"); t.reload(); Partition part = t.getpartition(new PartitionSpec(tableSpec[1])); part.reload();... Resources ODPS 中所有资源的集合 集合中的元素为 Resource 程序示例如下 : for (Resource r : odps.resources()) { Resource 对资源信息的描述, 可以通过 Resources 获取相应的资源 程序示例如下 : Resource r = odps.resources().get("resource name"); 5

r.reload(); if (r.gettype() == Resource.Type.TABLE) { TableResource tr = new TableResource(r); String tablesource = tr.getsourcetable().getproject() + "." + tr.getsourcetable().getname(); if (tr.getsourcetablepartition()!= null) { tablesource += " partition(" + tr.getsourcetablepartition().tostring() + ")"; 一个创建文件资源的示例 : String projectname = "my_porject"; String source = "my_local_file.txt"; File file = new File(source); InputStream is = new FileInputStream(file); FileResource resource = new FileResource(); String name = file.getname(); resource.setname(name); odps.resources().create(projectname, resource, is); 一个创建表资源的示例 : TableResource resource = new TableResource(tableName, tableprj, partitionspec); //resource.setname(invalid_user_table); resource.setname("table_resource_name"); odps.resources().update(projectname, resource); Functions ODPS 中所有函数的集合 集合中的元素为 Function 程序示例如下 : for (Function f : odps.functions()) { 6

Function 对函数信息的描述, 可以通过 Functions 获取相应的函数 程序示例如下 : Function f = odps.functions().get("function name"); List<Resource> resources = f.getresources(); 一个创建函数的示例 : String resources = "xxx:xxx"; String classtype = "com.aliyun.odps.mapred.open.example.wordcount"; ArrayList<String> resourcelist = new ArrayList<String>(); for (String r : resources.split(":")) { resourcelist.add(r); Function func = new Function(); func.setname(name); func.setclasstype(classtype); func.setresources(resourcelist); odps.functions().create(projectname, func); 7