Data Transmission Service是MaxCompute資料進出的最重要通道,其中包括適用於大量操作的普通Tunnel和適用於流式寫入的Stream Tunnel,同時在所有Region提供免費限量使用的Data Transmission Service共用資源組,也提供Data Transmission Service(訂用帳戶)獨享資源群組,供您採購使用。
使用分類
命令。
目前命令只能通過MaxCompute用戶端(odpscmd)執行。
大量操作。
普通Tunnel可以對資料進行離線批操作,對資料進行上傳與下載,包括單表資料上傳下載和查詢執行個體下載。
流式操作。
Stream 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/網路頻寬)
期間:無法評估。
需要使用者對用戶端實體資源做充分的評估。
用戶端代碼邏輯不合理(長串連做上傳、下載過程有耗時很長的資料處理邏輯)
期間:無法評估。
需要使用者在代碼設計上充分考慮資料轉送效能。