使用Tunnel命令或Tunnel SDK

MaxCompute的客户端(odpscmd)、Studio等数据上传下载工具均通过Tunnel功能实现数据的上传与下载,本文为您介绍如何使用Tunnel命令或Tunnel SDK上传数据至MaxCompute。

前提条件

  • 已经创建好MaxCompute项目,并用对应的工具连接MaxCompute。

    说明

    连接MaxCompute的操作详情请参见连接至MaxCompute

  • 已在MaxCompute中创建好用于数据传输的表。

使用Tunnel命令上传数据

Tunnel命令主要有UploadDownloadResumeShowPurgehelp等,您可以使用UploadResume命令进行数据上传。

  • 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解除并发数及batch size的限制。

解决高并发抢锁导致流式服务不可用,避免batch size太小导致MaxCompute产生大量小文件的问题。

流式存储服务(DataHub、Kafka)实时同步MaxCompute

轻量消息队列实时同步MaxCompute解除并发数及batch size的限制。

解决轻量消息队列实时同步到MaxCompute的问题,支持高并发、大批量同步。

流式数据通道SDK主要接口有以下几种。

接口

描述

TableTunnel

访问MaxCompute Tunnel服务的入口类。您可以通过外网或阿里云内网环境对MaxCompute及其Tunnel进行访问。

TableTunnel.StreamUploadSession

上传数据会话。

TableTunnel.StreamRecordPack

数据缓存会话

说明

不同版本的SDK在使用上有差别,详情请参见SDK Java Doc

使用流式数据通道SDK上传数据的使用案例请参见:

使用Streaming Tunnel SDK上传数据的具体操作请参考Streaming Tunnel SDK