全部產品
Search
文件中心

MaxCompute:外部表格概述

更新時間:Jan 06, 2026

MaxCompute支援使用外部表格功能查詢和分析儲存於OSS等外部儲存系統的資料。

功能介紹

MaxCompute SQL作為分布式資料處理的主要入口,可實現EB層級離線資料的快速處理。隨著巨量資料業務的不斷擴充,新的資料使用情境在不斷產生,很多資料集中在湖上、即時數倉中、NoSQL資料庫中或其他系統裡。

MaxCompute不僅適用於資料倉儲情境,同時也由於底層採用了巨量資料分布式儲存和計算架構,其容量、計算吞吐效率、多引擎能力和開放性也適用資料湖情境。因此,面對外部資料計算情境,存在兩種主要模式:

  • 模式一:先匯入再計算

    將資料匯入MaxCompute。結構化資料以表形態支援SQL計算或對三方引擎提供開放能力,非結構化資料也可以存入MaxCompute並計算。在MaxCompute中可以獲得更高的資料讀寫效率和更一體化的體驗。

  • 模式二:直接在外部計算

    當需要基於資料湖構建更靈活的資料體系時,MaxCompute SQL也可作為計算引擎在數倉外部計算。

MaxCompute提供面對數倉強管理體系下的計算能力,同時也能夠對接外部儲存資料的系統和管理體系。而最直接存取外部資料的功能是外部表格

  • 定義與原理

    • 通過DDL語句定義MaxCompute訪問外部資料的表名、schema、表屬性、許可權、位置和協議等資訊,記錄在MaxCompute中繼資料中。

    • SQL就可以按照外部表格的中繼資料資訊,根據不同的外部表格式採用對應的方法建立與外部資料源的聯絡,包括擷取或更新外部資料的元資訊,提供各種資料的讀取、計算和寫出能力。

  • 主要應用情境

    基於外部表格,可以實現直接計算MaxCompute外部的資料,也可以在MaxCompute的管理範圍管理外部資料源,並在約定的管理體系下使用資料。例如:湖上結構化或非結構化資料批處理、資料共用交換及即時數倉資料歸檔入數倉模型等

計費說明

  1. 儲存費用

    • 結論:不產生任何儲存費用。

    • 原因:用外部表格功能時,外部表格的資料不會複製後儲存在MaxCompute,外部表格的資料存放區於外部系統,MaxCompute不收取數倉側的儲存費用,儲存成本請關注資料來源自身的計費規則。

  2. 計算費用
    計算費用遵循MaxCompute的計算資源計費規則,具體分為以下幾種模式:

    • 對於訂用帳戶或彈性預留CU資源:

      • 外部表格的計算費用已包含在預付費的計算資源費用中。

    • 對於隨用隨付模式:

      • 計費部分:目前僅統計計算任務訪問OSS和OTS的掃描資料量。

      • 暫不計費部分:訪問 HDFS、Hologres、RDS、HBase、Lindorm 等(無論是通過外部表格還是湖倉一體2.0的外部Schema方式),暫時不統計掃描資料量,也暫不產生計算費用。

  3. 網路費用

    當使用公網MaxCompute Endpoint串連外部表格時,會產生公網流量費和下載費用。MaxCompute費用詳情請參見計費項目與計費方式

  4. 外部資料源側費用提醒

    使用MaxCompute外部表格訪問外部資料源時,外部資料源可能會產生計算、訪問、資料轉送等費用,具體以外部資料源計費方式為準,請關注相應產品的說明。

適用範圍

  • Tunnel功能及Tunnel SDK當前不支援外部表格操作。可以通過Tunnel直接上傳資料到MaxCompute內部表,或者是通過OSS Python SDK上傳到OSS後,在MaxCompute使用外部表格做映射。

  • MaxCompute的外部表格支援寫出資料到資料來源的能力,寫出能力和一致性受外部系統的限制。例如:

    • Hologres:MaxCompute基於JDBC協議訪問Hologres元資訊,不能保證寫出事務控制的原子性;MaxCompute SQL引擎對Hologres底層pangu資料只有直讀並無直寫能力;MaxCompute的分散式運算多進程並行寫的複雜性,上述原因導致MaxCompute對Hologres寫出資料不支援INSERT OVERWRITE語義,且作業運行失敗的情況下可能會唯寫出部分資料。

    • HDFS:同樣基於HMS,HDFS的寫出也有較小機率不滿足一致性。

    • OSS:OSS外部表格寫出時,通過.odps元資訊檔控制可以降低不完整的機率。但如果為了引擎相容性放棄使用.odps元資訊檔控制機制,寫出情境也有較小機率不完整。

  • MaxCompute對外部資料的寫出能力如果使用INSERT OVERWRITE語義,會先寫出資料,資料ddl commit階段會刪除表/分區已有資料,再替換為新寫出資料。被刪除資料MaxCompute無法復原恢複,請提前做好備份,並建議寫出後執行資料校正,如有問題可以重複執行完整寫出。

相關文檔

支援外部表格

MaxCompute支援OSS、Hologres及RDS等多種外部表格:

外部表格樣本

通過以下樣本,深入瞭解通過MaxCompute外部表格功能處理各種非結構化資料的方法:

  • 訪問OSS和TableStore(OTS)非結構化資料,請參見OSS外部表格訪問OTS非結構化資料

  • 外部表格訪問OSS的帳號,在RAM中自訂授權MaxCompute訪問OSS的許可權,請參見STS模式授權

  • MaxCompute的非結構化架構支援通過INSERT方式將MaxCompute的資料直接輸出到OSS,請參見將資料寫入OSS

  • 處理各種開源格式資料,請參見OSS外部表格

  • 可以通過DataWorks配合MaxCompute對外部表格進行可視化的建立、搜尋、查詢、配置、加工和分析。詳情請參見外部表格

常見問題