package com.alibaba.odps.tunnel.samples;
import java.io.IOException;
import java.util.Date;
import com.alibaba.odps.tunnel.Column;
import com.alibaba.odps.tunnel.Account;
import com.alibaba.odps.tunnel.Configuration;
import com.alibaba.odps.tunnel.DataTunnel;
import com.alibaba.odps.tunnel.RecordSchema;
import com.alibaba.odps.tunnel.TunnelException;
import com.alibaba.odps.tunnel.Upload;
import com.alibaba.odps.tunnel.Upload.Status;
import com.alibaba.odps.tunnel.io.Record;
import com.alibaba.odps.tunnel.io.RecordWriter;
public class UploadSample {
private static String endpoint = "http://tunnelserver/";
private static String accessId = "<your access id>";
private static String accessKey = "<your access Key>";
private static String project = "<your project>";
private static String table = "<your table name>";
private static String partition = "<your partition spec>";
public static void main(String args[]) {
Account account = new Account("aliyun",accessId,accessKey);
Configuration cfg = new Configuration(account, endpoint);
DataTunnel tunnel = new DataTunnel(cfg);
try {
Upload up = tunnel.createUpload(project, table, partition);
String id = up.getUploadId();
System.out.println("UploadId = " + id);
RecordSchema schema = up.getSchema();
System.out.println("Schema is: " + schema.toJsonString());
Status status = up.getStatus();
System.out.println("Status is: " + status.toString());
RecordWriter writer = up.openRecordWriter(0);
Record r = new Record(schema.getColumnCount());
for (int i = 0; i < schema.getColumnCount(); i++) {
Column.Type t = schema.getColumnType(i);
switch (t) {
case ODPS_BIGINT:
r.setBigint(i, 1L);
break;
case ODPS_DOUBLE:
r.setDouble(i, 0.0);
break;
case ODPS_DATETIME:
r.setDatetime(i, new Date());
break;
case ODPS_BOOLEAN:
r.setBoolean(i, true);
break;
case ODPS_STRING:
r.setString(i, "sample code");
break;
default:
throw new RuntimeException("Unknown column type: " + t);
}
}
for (int i = 0; i < 100; i++) {
writer.write(r);
}
writer.close();
Long[] blocks = {(long) 0};
up.complete(blocks);
} catch (TunnelException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
祝你好运!!
分享到:
相关推荐
阿里云ODPS文档 阿里云ODPS(Open Data Processing Service)是一种大规模数据处理服务,提供了基于SQL的数据处理能力。ODPS SQL是ODPS的一部分,提供了类似于SQL的语法,用于处理大规模数据。 ODPS SQL的特点 ...
Java连接ODPS文档和代码
odps(MaxCompute) 权威详尽说明帮助手册,包括odps 底层优化原理
阿里云odpsSql手册1
ODPS 提供海量数据处理及分析服务,让用户远离大数据运算烦恼。 开放数据处理服务(Open Data Processing Service,ODPS)是基于飞天分布式系统构建的海 量数据处理和分析的服务平台,具有 PB 级别的数据处理能力, ...
用来连接odps的客户端,可以在ideal中引入该插件进行连接odps
阿里的odps的使用说明,简单快速上手,希望对新手有一些帮助
阿里巴巴的 odps 文档,帮助新手快速扫盲 本资料共包含以下附件: odps_SQL.pdf
ODPS
ODPS权威指南 阿里大数据平台应用开发实践
odps的eclipse插件
odps权威指南最新版
阿里odps开放平台的参考手册,里面详细介绍了odps的操作
【大纲】 ODPS 介绍 ODPS MapReduce MapReduce 作为开放服务
某软的公文,使用msi后还用installshield打包,只能手工安装,现已解压并静默。
ODPS(Open Data Processing Service)是阿里巴巴自主研发的海量数据处理和分析的服务平台,主要应用于数据分析、海量数据统计、数据挖掘、机器学习和商业智能等领域。目前,ODPS不仅在阿里内部得到广泛应用,享有很...
面向Java开发人员的ODPS SDK 要求 Java 8+ 建造 git clone ... cd aliyun-odps-java-sdk mvn clean package -DskipTests 运行单元测试 您将必须在源代码树中配置test.conf文件: odps-sdk-impl/odps-common-local/...
包含5个pdf文档(都是内部文档截止到2014-4-28未开放的): Map-Reduce SDK简介 — ODPS mapreduce快速入门 — ODPS MapReduce — ODPS 如何运行MapReduce — ODPS 应用限制 — ODPS
kettle使用maxcompute相关插件,aliyun-kettle-odps-plugin-1.0.0.tar.gz
阿里开放数据处理服务ODPS介绍.pptx