数据传输服务(上传)场景与工具

本文为您介绍如何将数据上传至MaxCompute或从MaxCompute下载数据,包括服务连接、SDK、工具和数据导入导出、上云等常见操作。

背景信息

MaxCompute提供了多种数据上传下载的通道支持,方便您在各种场景下进行技术方案选型时参考。

  • 批量数据通道:支持批量上传及下载数据场景。

  • 流式数据通道:提供了以流式的方式把数据写入MaxCompute的能力。

  • 实时数据通道:DataHub是流式数据(Streaming Data)的处理平台,提供对流式数据的发布(Publish)、订阅(Subscribe)和分发功能,支持流式数据归档至MaxCompute。

功能介绍

  • 批量数据通道上传

    使用批量数据通道上传数据时,可以通过单个批量操作将数据上传到MaxCompute中。例如上传数据源可以是外部文件、外部数据库、外部对象存储或日志文件。MaxCompute中批量数据通道上传包含如下方案。

    • Tunnel SDK:您可以通过Tunnel向MaxCompute中上传数据。

    • 数据同步服务:您可以通过数据集成(DataWorks)任务,提取、转换、加载(ETL)数据到MaxCompute。

    • 数据投递:您可以通过DataHub、SLS、Kafka版服务的MaxCompute Sink Connector、Blink将数据投递至MaxCompute。

    • 开源工具及插件:您可以通过SqoopKettleFlumeFluentd插件、OGGMMA将数据上传至MaxCompute。

    • 产品工具:MaxCompute客户端基于批量数据通道的SDK,实现了内置的Tunnel命令,可对数据进行上传,Tunnel命令的使用请参见Tunnel命令

    说明

    对于离线数据的同步,推荐您优先使用数据集成,详情请参见数据集成概述

  • 流式数据通道写入

    MaxCompute流式数据通道服务提供了以流式的方式将数据写入MaxCompute的能力,使用与原批量数据通道服务不同的一套全新的API及后端服务。流式数据写入到MaxCompute的方案如下。

    • SDK接口:提供流式语义API,通过流式服务的API可以方便的开发出分布式数据同步服务。

    • 数据同步服务:您可以通过数据集成实时同步任务实现流式数据写入(StreamX)。

    • 数据投递:您可以通过已集成流式写入API的数据投递模式实现流式数据写入。支持SLS、消息队列Kafka版方式。

    • 数据采集:MaxCompute支持将开源Logstash收集的日志数据流式写入MaxCompute。

    • Flink实时写入:您可以通过Flink平台对流式数据进行实时写入。

解决方案的可靠性

MaxCompute具有服务等级协议(SLA),因批量数据通道、流式数据通道默认使用免费共享资源,您还需考虑实现特定方案的可靠性。Tunnel数据通道服务依照访问的先后顺序,分配服务可用资源(Slot)。

  • 当服务的剩余可用资源为0时,将拒绝任何新增访问,直至可用资源得到释放。

  • 5分钟内未达到100个有效请求的情况,不计为服务不可用,有效请求参见数据传输服务有效状态码

  • 请求延迟不包含在SLA保障范围,限制请求不包含在SLA保障范围,限制请求请参见数据传输服务使用限制

说明

为满足特定解决方案对资源申请的要求,已支持单独资源购买服务,用以解决高资源使用需求。具体详情,请参见购买与使用独享数据传输服务资源组

注意事项

网络因素对Tunnel上传下载速度的影响较大,正常情况下速度范围为1 MB/s~10 MB/s。当上传的数据量较大时,建议配置Tunnel Endpoint为云产品互联网络或VPC网络相应的Tunnel Endpoint。云产品互联网络或VPC网络需要通过阿里云ECS连通或者通过网络专线开通。如果上传数据速度太慢,可以考虑使用多线程上传方式。

更多Tunnel Endpoint信息,请参见Endpoint

相关文档

关于数据传输服务详情介绍,请参见数据传输服务概述