MaxCompute的客户端(odpscmd)、Studio等数据上传下载工具均通过Tunnel功能实现数据的上传与下载,本文为您介绍如何使用Tunnel命令或Tunnel SDK上传数据至MaxCompute。
前提条件
已经创建好MaxCompute项目,并用对应的工具连接MaxCompute。
说明连接MaxCompute的操作详情请参见连接至MaxCompute。
已在MaxCompute中创建好用于数据传输的表。
使用Tunnel命令上传数据
Tunnel命令主要有Upload
、Download
、Resume
、Show
、Purge
、help
等,您可以使用Upload
、Resume
命令进行数据上传。
Upload:上传本地数据至MaxCompute表中。支持文件的上传,每一次上传只支持数据上传到一张表或表的一个分区。分区表一定要指定上传的分区,多级分区一定要指定到末级分区。更多信息请参见Upload 。
Resume:因为网络或Tunnel服务的原因造成上传出错,可以通过
Resume
命令对文件进行续传。可以继续上一次的数据上传操作,但Resume命令暂时不支持下载操作。更多信息请参见Resume。
使用Tunnel命令上传数据的具体操作请参考Tunnel命令。
使用Tunnel SDK上传数据
Tunnel SDK的主要接口有TableTunnel、TableTunnel.UploadSession、TableTunnel.DownloadSession、InstanceTunnel、InstanceTunnel.DownloadSession等。
不同版本的SDK在使用上有所差别,具体以SDK Java Doc为准。
TableTunnel与InstanceTunnel是访问MaxCompute Tunnel服务的入口类:
TableTunnel:对某个表数据进行操作,例如下载某个表的表数据。
InstanceTunnel:对某个SQL执行结果数据进行操作,例如下载某个Select查询命令的结果数据。
使用Tunnel SDK上传数据的使用案例请参见:
使用Tunnel SDK上传数据的具体操作请参考Tunnel SDK。
使用Streaming Tunnel SDK上传数据
MaxCompute流式数据通道服务提供了以流式的方式把数据写入MaxCompute的能力,使用与原批量数据通道服务不同的一套全新的API及后端服务。
MaxCompute流式数据通道服务应用场景如下。
场景 | 说明 | 特点 |
大量事件日志实时写入MaxCompute | 日志采集数据直接写入MaxCompute进行批量处理。 | 无需通过中间存储服务做中转,节约成本。 |
流式计算结果实时写入MaxCompute | 流式服务写入MaxCompute解除并发数及 | 解决高并发抢锁导致流式服务不可用,避免 |
流式存储服务(DataHub、Kafka)实时同步MaxCompute | 轻量消息队列实时同步MaxCompute解除并发数及 | 解决轻量消息队列实时同步到MaxCompute的问题,支持高并发、大批量同步。 |
流式数据通道SDK主要接口有以下几种。
接口 | 描述 |
TableTunnel | 访问MaxCompute Tunnel服务的入口类。您可以通过外网或阿里云内网环境对MaxCompute及其Tunnel进行访问。 |
TableTunnel.StreamUploadSession | 上传数据会话。 |
TableTunnel.StreamRecordPack | 数据缓存会话 |
不同版本的SDK在使用上有差别,详情请参见SDK Java Doc。
使用流式数据通道SDK上传数据的使用案例请参见:
使用Streaming Tunnel SDK上传数据的具体操作请参考Streaming Tunnel SDK。