全部產品
Search
文件中心

MaxCompute:Tunnel常見錯誤碼

更新時間:Oct 21, 2025

本文為您介紹使用Tunnel過程中的常見錯誤碼,協助您瞭解錯誤碼產生原因,並提供解決措施。

Tunnel常見錯誤碼如下:

報錯資訊:ErrorCode=NoSuchPartition, ErrorMessage=The specified partition does not exist

  • 產生原因

    目標資料分割不存在。

  • 解決措施

    執行show partitions <table_name>;命令確認分區名稱正確性,或者為目標表建立新的分區。更多建立分區資訊,請參見添加分區

報錯資訊:ErrorCode=Unauthorized, ErrorMessage=The request authorization header is invalid or missing

  • 產生原因

    AccessKey不正確,無法通過身份校正。

  • 解決措施

    您可以進入AccessKey管理頁面擷取正確的AccessKey。如果AccessKey配置無誤,請加入DingTalk群進行反饋,並提供使用該AccessKey成功上傳或下載的日誌資訊。

報錯資訊:ErrorCode=Local Error, Failed to create download session with tunnel endpoint

  • 產生原因

    • 原因一:網路未連通。

    • 原因二:表或分區的小檔案太多。

  • 解決措施

    • 原因一的解決措施:

      在報錯裝置的命令列視窗,使用curl命令串連報錯資訊中的Tunnel Endpoint,驗證是否可以正常訪問。

      • 如果可以正常訪問,會返回如下資訊。此時請跳過該步驟,根據下方原因二的解決措施進行處理。驗證連通性

      • 如果無法正常訪問,請檢查並修改Tunnel Endpoint配置。

        公網的Tunnel Endpoint以aliyun.com結尾,雲產品互連網絡或VPC網路的Tunnel Endpoint以aliyun-inc.com結尾。請您根據實際業務情況配置正確的Tunnel Endpoint。更多Tunnel Endpoint資訊,請參見Endpoint

        說明

        如果您通過外網裝置訪問雲產品互連網絡或VPC網路的Tunnel Endpoint,或者通過雲產品互連網絡或VPC網路裝置訪問公網的Tunnel Endpoint,有可能網路不通。

    • 原因二的解決措施:

      通過MaxCompute用戶端DataWorks用戶端執行desc extended命令,查看錶或分區的檔案數量。

      desc extended <table_name> [partition(partition_spec)];

      返回結果中的FileNum即為檔案數量。當檔案數量超過1000個時,需要合并小檔案

      如果您的專案還使用了Instance Tunnel下載資料,同樣受表檔案數量影響。當檔案數量過多時,就會存在逾時問題。如果不需要下載SQL結果資料,可以關閉Instance Tunnel,SQL的執行過程並不受Limit參數影響,會把全表的資料都列出來。如果期望達到查詢加速的效果,可以添加WHERE條件,例如尋找沒有NULL值的列,可以添加where xxx not null語句,產生一份臨時資料,不需要全表掃描。

報錯資訊:ErrorCode=NoSuchProject, ErrorMessage=The specified project name does not exist

  • 產生原因

    MaxCompute專案名稱不正確或Tunnel Endopint不正確。

  • 解決措施

    • 檢查並修改專案名稱。

      您可以登入MaxCompute控制台,左上方切換地區後,即可在專案管理頁簽查看到具體的MaxCompute專案名稱。

    • 檢查並修改Tunnel Endpoint

      各地區各網路對應的Tunnel Endopint資訊,請參見Endpoint

報錯資訊:ErrorCode=NoPermission, ErrorMessage=Authorization Failed [4019], You have NO privilege 'odps:Update' on

  • 產生原因

    沒有上傳資料許可權。

  • 解決措施

    您可以通過DataWorks的資料地圖,申請目標表的Update許可權,或者由專案所有者或表所有者授予表的Update許可權。更多授權資訊,請參見MaxCompute許可權

報錯資訊:ErrorCode=NoPermission, ErrorMessage=Authorization Failed [4019], You have NO privilege 'odps:Download' on

  • 產生原因

    沒有下載資料許可權。

  • 解決措施

    您可以通過DataWorks的資料地圖,申請目標表的Download許可權,或者由專案所有者或具備Super_Administrator角色的使用者授予表的Download許可權。更多Download授權資訊,請參見Policy許可權控制

報錯資訊:ErrorCode=NoPermission, ErrorMessage=Authorization Failed [4021], You have NO privilege 'odps:Select' on 'xxx',project 'xxx' is protected

  • 產生原因

    MaxCompute專案設定了資料保護機制,禁止使用Tunnel下載資料。

  • 解決措施

    聯絡專案所有者(Project Owner)設定Exception Policy,為使用者授權。更多Exception Policy資訊,請參見資料流出策略一:設定Exception Policy

報錯資訊:ErrorCode=InvalidBlockID, ErrorMessage=The specified block id is not valid.xxxx

  • 產生原因

    多任務並發,BlockID非法。

  • 解決措施

    減小並發度,同時您可以執行如下命令清理5天前的日誌。

    tunnel purge 5;

報錯資訊:ErrorCode=TableModified, ErrorMessage=The specified table has been modified since the download initiated. Try initiate another download

  • 產生原因

    下載資料過程中,表被修改了。

  • 解決措施

    需要重新建立Download Session下載資料。您可以通過如下方式查看修改記錄:

報錯資訊:ErrorCode=StatusConflict, ErrorMessage=The download session is expired

  • 產生原因

    下載超過24小時,導致Session到期。

  • 解決措施

    重新建立Download Session下載資料。需要注意的是:

    • Download Session如果沒有主動關閉,超過24小時會自動失效。

    • 建立Download Session後,如果表被修改了,Download Session也會失效。

報錯資訊:ErrorCode=StatusConflict, ErrorMessage=You cannot complete the specified operation under the current upload or download status

  • 產生原因

    • 原因一:Upload Session已經提交。

    • 原因二:表或分區內的小檔案太多。

  • 解決措施

    • 原因一的解決措施:重新建立Upload Session上傳資料。

    • 原因二的解決措施:合并小檔案,請參見合并小檔案

報錯資訊:ErrorCode=InvalidProjectTable, ErrorMessage=The specified project or table name is not valid or missing

  • 產生原因

    專案名稱或表名稱不正確。

  • 解決措施

    檢查專案名稱或表名稱的正確性並修改。

    您可以登入MaxCompute控制台,左上方切換地區後,即可在專案管理頁簽查看到具體的MaxCompute專案名稱。

    您可以執行show tables;命令查看錶的名稱。

報錯資訊:ErrorCode=InvalidPartitionSpec, ErrorMessage=Error: The specified partitionspec is not valid

  • 產生原因

    分區欄位不正確或格式有誤。

  • 解決措施

    您可以執行show partitions <table_name>;命令查看錶的分區。檢查分區欄位資訊,確保滿足如下要求:

    • 參數中的分區列順序要與建表語句中分區列順序保持一致。

    • 當分區列值中有引號(pt='a'或pt="a")時,舊版本SDK沒有做過引號處理,需要使用新版本的Tunnel SDK。

    • 多級分區中間有空格時,例如pt1=a, pt2=a,需要把空格刪掉。

    • 多級分區需要填寫所有的分區。

    • 分區名大小寫要與建表語句保持一致。

報錯資訊:ErrorCode=InvalidRowRange, ErrorMessage=The specified row range is not valid

  • 產生原因

    openReader的兩個參數startOffset和count取值有問題。

  • 解決措施

    檢查代碼確保滿足如下要求:

    • startOffset必須大於等於0。

    • count必須大於0。

報錯資訊:ErrorCode=StatusConflict, ErrorMessage=Cannot close upload now: Close Upload Session Failed.Because of Status Conflict.Current Status:critical

  • 產生原因

    DDL操作失敗,導致Upload Session狀態異常。

  • 解決措施

    重新建立Upload Session。

報錯資訊:ErrorCode=StatusConflict, ErrorMessage=The upload|download session is expired

  • 產生原因

    Upload Session或Download Session超過24小時,已失效。

  • 解決措施

    重新建立Upload Session或Download Session。

報錯資訊:ErrorCode=FlowExceeded, ErrorMessage=Your flow quota is exceeded

請填寫DingTalk群申請表單加入DingTalk群進行反饋。

報錯資訊:ErrorMessage=java.net.SocketException: Connection reset

  • 產生原因

    常見於使用SDK編寫的程式或者第三方平台通過Tunnel讀取資料進行處理的過程。服務端有串連保護,開啟RecordReader後長時間不讀資料,服務端會中斷連線,時限為300秒。圖示如下。

    RecordReader內部有緩衝,一旦使用者的計算或處理邏輯較為緩慢,未能在逾時時限內處理完一塊快取資料並觸發下一次讀取,則會出現該錯誤。

  • 解決措施

    最佳化代碼處理邏輯。

報錯資訊:ErrorCode=Unauthorized ErrorMessage=The request authorization header is invalid or missing. Message:The signatrue is Time-Expired

  • 產生原因

    簽名的時間校正未通過。

  • 解決措施

    檢查用戶端系統時間,時間差不能超過15分鐘。Tunnel服務端會定時NTP授時,一般是準確的。如果確定用戶端系統時間沒問題,請填寫DingTalk群申請表單加入DingTalk群進行反饋。

    如果使用Tunnel SDK開發時遇到這個錯誤,需要保證Open Writer與寫入資料之間的時間間隔不能超過15分鐘,簽名在Open Writer時產生。

報錯資訊:ErrorCode=MalformedDataStream ErrorMessage=The data stream you provided was not well-formed or did not validate against schema

  • 產生原因

    上傳資料的結構和目標表的結構不一致。

  • 解決措施

    檢查上傳資料的結構與目標表的結構,確保二者一致。

報錯資訊:ErrorCode=MethodNotAllowed, ErrorMessage=The specified method is not allowed against clustered table and partition

  • 產生原因

    Tunnel暫時不支援Clustered Table上傳。

  • 解決措施

    無。

報錯資訊:ErrorCode=InstanceNotTerminate, ErrorMessage=The instance does not terminate

  • 產生原因

    下載的Instance還未運行完。

  • 解決措施

    等待Instance運行完成後再下載。

報錯資訊:ErrorCode=QPSExceeded, ErrorMessage=Your qps quota is exceeded.ODPS-0110044: Flow control triggered - Request rejected by catalog server throttling, threshold 2.60, fallback or retry later

  • 產生原因

    Table層級DDL操作觸發QPS限流報錯,目前單表寫入Commit次數限制為:每15秒75次。

  • 解決措施

    控制提交DDL(如Commit Upload等)的頻率。