全部產品
Search
文件中心

MaxCompute:Data Transmission Service概述

更新時間:Nov 16, 2024

Data Transmission Service是MaxCompute資料進出的最重要通道,其中包括適用於大量操作的普通Tunnel和適用於流式寫入的Stream Tunnel,同時在所有Region提供免費限量使用的Data Transmission Service共用資源組,也提供Data Transmission Service(訂用帳戶)獨享資源群組,供您採購使用。

使用分類

  • 命令。

    目前命令只能通過MaxCompute用戶端(odpscmd)執行。

  • 大量操作。

    普通Tunnel可以對資料進行離線批操作,對資料進行上傳與下載,包括單表資料上傳下載和查詢執行個體下載。

  • 流式操作。

    Stream Tunnel可以對流式資料做資料微批的方式寫入表。

Tunnel服務

Data Transmission Service使用限制

  • 批量資料通道使用限制說明。

    • 批量資料上傳。

      限制項

      限制說明

      UploadSession生命週期

      24小時。

      單UploadSession寫入Block個數

      20000個。

      單Block寫入速度

      10 MB/s。

      單Block寫入資料量

      100 GB。

      單表建立UploadSession數

      每5分鐘500個。

      單表寫入Block數

      每5分鐘500個。

      單表並發提交UploadSession數

      32個。

      並發寫入Block數

      受Slot並發數限制,單次Block寫入佔用一個Slot。

      並發寫入

      MaxCompute會根據ACID進行並發寫入的保障。關於ACID的具體語義請參見ACID語義

    • 批量資料下載。

      限制項

      限制說明

      DownloadSession生命週期

      24小時。

      InstanceDownloadSession生命週期

      24小時,受執行個體生命週期限制。

      單Project建立InstanceDownloadSession數

      每5分鐘200個。

      單表建立DownloadSession數

      每5分鐘200個。

      單次下載請求速度

      10 MB/s。

      並發建立DownloadSession數

      受Slot並發數限制,單次建立DownloadSession佔用一個Slot。

      並發建立InstanceDownloadSession數

      受Slot並發數限制,單次建立InstanceDownloadSession佔用一個Slot。

      並發下載請求數

      受Slot並發數限制,單次資料下載請求佔用一個Slot。

    說明

    批量資料支援Delta Table的Upsert功能,使用限制如下:

    • UpsertSession生命週期:24小時(h)。

    • UpsertSession最大寫入速度:表或分區Bucket數*10 MB/s。

    • UpsertSession最大Slot Quota佔用:表或分區Bucket數。

    • UpsertSession Commit頻率:Delta Table每個分區1分鐘(min)內僅允許Commit 1次。如果某個分區Commit間隔小於1分鐘,將會收到ErrorCode=FlowExceeded, ErrorMessage=CommitUpsert QPS Quota exceeded系統報錯資訊。

  • 流式資料通道使用限制說明。

    限制項

    限制說明

    單Slot寫入速度

    1 MB/s。

    單Slot寫入請求數

    每秒10個。

    單表並發寫入分區數

    64個。

    單分區最大可用Slot數

    32個。

    StreamUploadSession佔用Slot數

    受Slot並發數限制,建立StreamUploadSession時指定Slot數。

  • 上傳資料限制。

    • 每個欄位的大小不能超過該欄位本身的限制,詳情請參見資料類型版本說明

      說明

      STRING類型的欄位大小不能超過8 MB。

    • 上傳的過程中會將多條資料打包成一個Package進行上傳。

  • 資料轉送網路限制(獨享資源群組)。

    • 只支援雲上VPC網路訪問,暫時不支援公用網路訪問。

    • 只支援同地區的Data Transmission Service,暫時不支援跨地區的Data Transmission Service。

說明

網路因素對Data Transmission Service上傳下載速度的影響較大,正常情況下速度範圍為1 MB/s~20 MB/s。如果上傳資料速度太慢,可以考慮使用多線程上傳方式。

Data Transmission Service共用資源組說明

下表資料為不同地區下免費共用資源(單位:Slot)Project級最多可用Slot數說明。

網站

地區

Slot(個數)

中國

華東1(杭州)

300

中國

華東2(上海)

600

中國

華東2金融雲(上海)

50

中國

華北2(北京)

300

中國

華北2政務雲(北京)

100

中國

華北3(張家口)

300

中國

華北6(烏蘭察布)

300

中國

華南1(深圳)

150

中國

華南1金融雲(深圳)

50

中國

西南1(成都)

150

中國

中國(香港)

50

亞太地區

新加坡(新加坡)

100

亞太地區

馬來西亞(吉隆坡)

50

亞太地區

印尼(雅加達)

50

亞太地區

日本(東京)

50

歐美地區

德國(法蘭克福)

50

歐美地區

美國(矽谷)

100

歐美地區

美國(維吉尼亞)

50

歐美地區

英國(倫敦)

50

中東與印度

阿聯酋(杜拜)

50

Data Transmission Service有效狀態代碼

狀態代碼標識

狀態代碼名稱

200

HTTP_OK

201

HTTP_CREATED

400

HTTP_BAD_REQUEST

401

HTTP_UNAUTHORIZED

403

HTTP_FORBIDDEN

404

HTTP_NOT_FOUND

405

HTTP_METHOD_NOT_ALLOWED

409

HTTP_CONFLICT

422

HTTP_UNPROCESSABLE_ENTITY

429

HTTP_TOO_MANY_REQUESTS

499

HTTP_CLIENT_CLOSED_REQUEST

500

HTTP_INTERNAL_SERVER_ERROR

502

HTTP_BAD_GATEWAY

503

HTTP_SERVICE_UNAVAILABLE

504

HTTP_GATEWAY_TIME_OUT

  • 請求失敗重試策略

    • 用戶端需要在收到請求失敗後等待一段時間再重新發起請求。

    • 連續失敗請求等待時間需要滿足指數增長規則,最短1秒。例如:1s,2s,4s,8s,16s,32s,32s...

  • 重複請求

    • URL相同(URI和URI Parameter)。

    • 相同用戶端IP連續發起。

  • 有效請求

    返回碼為有效狀態代碼且滿足失敗重試策略。

  • 非法請求

    返回碼為有效狀態代碼但不滿足失敗重試策略的請求。

    說明

    非法請求不受服務SLA保障。

  • 攻擊類請求

    • 針對流控狀態代碼429、503,未遵守失敗重試策略的請求。

    • 針對攻擊類請求,服務側會對發起攻擊的用戶端IP、UID、Project進行隔離處理,被隔離的對象無法正常訪問服務。

    說明

    攻擊類請求不受服務SLA保障。

常見問題

Data Transmission Service變慢一般由什麼原因導致?

受服務架構限制,MaxCompute Tunnel服務在以下幾種情境中會出現偶發的請求延遲問題(單次上傳、下載10MB資料耗時從秒級增長到分鐘級)。

  • 共用Tunnel服務資源用滿(CPU/網路頻寬)

    • 期間:幾分鐘~幾小時。

    • 受服務架構限制無法避免,有強保障需求的使用者,可以購買獨享資源Tunnel。

  • 用戶端到Tunnel服務網路鏈路不穩定(公網上傳/下載)

    • 期間:無法評估。

    • 公網穩定性無法保障,穩定性要求高的使用者建議使用阿里雲內網。

  • 用戶端資源用滿(CPU/網路頻寬)

    • 期間:無法評估。

    • 需要使用者對用戶端實體資源做充分的評估。

  • 用戶端代碼邏輯不合理(長串連做上傳、下載過程有耗時很長的資料處理邏輯)

    • 期間:無法評估。

    • 需要使用者在代碼設計上充分考慮資料轉送效能。

其他問題