全部產品
Search
文件中心

MaxCompute:錶快照(Snapshot)

更新時間:Jan 15, 2026

本文介紹如何建立、恢複、修改以及刪除MaxCompute錶快照(Snapshot)。

功能簡介

錶快照(Snapshot)即保留基表(Base Table)在特定時刻的表資料。

  • 錶快照可以配置獨立的資料到期時間,從錶快照建立開始計算,到該設定時間後,系統會自動刪除錶快照。

  • 錶快照為唯讀,支援從錶快照建立(恢複)表,從而修複或恢複表資料。

  • 使用錶快照的兩大優勢:

    • 更長時間的資料備份,便於資料保留與恢複。

      錶快照的最大儲存時間超過當前本地備份功能支援的最大儲存時間,可根據需要從指定的時間點保留資料。如果發現新的商務規則或資料更新導致了問題,可以根據錶快照將資料恢複到之前正確的版本,避免對業務造成進一步的影響。

    • 最大程度地減少儲存費用。

      僅儲存快照與其基表之間不同的位元組,因此錶快照使用的儲存空間通常小於表的完整副本。

適用範圍

  • 支援的表類型

    • 普通表(包括分區/非分區/聚簇表)

    • PK/Append Delta Table建立錶快照(Snapshot)

  • 不支援的表類型

    • Transaction Table

    • 視圖(View)

    • 物化視圖(Delta Live MV)

    • 外部表格(External Table)

  • 地區及租戶限制:錶快照(Snapshot)必須與其基表位於同一Region中並且在同一租戶下。

  • 錶快照(Snapshot)為Read-Only唯讀狀態,除非通過錶快照(Snapshot)建立標準表然後更新資料,否則無法更新錶快照中的資料。只能更新錶快照的中繼資料MetaData,例如其說明、失效日期和存取權限策略。

  • 生命週期限制:如果對設定了生命週期的分區表Partition Table建立快照,則生命週期不會對快照中的資料生效。

  • 流式寫入延遲:Streaming Tunnel寫入資料後立即通過Tunnel SDK調用streamRecordPack.flush後的資料,需要5-10分鐘才可以被打入快照。

  • 錶快照刪除後不支援恢複

  • 作業上限

    • 單表的快照數量上限:1000個。

    • 單專案並發CREATE SNAPSHOT 作業數上限:100個。

    • 單專案每天CREATE SNAPSHOT 作業總數上限:50000個。

    • 單表每天CREATE SNAPSHOT 作業數上限:50個。

建立錶快照

命令格式

建立表時可配置資料到期時間,當前若不設定,則錶快照將繼承該專案配置的資料生命週期(後續會改為不繼承,錶快照到期時間完全獨立)。

CREATE [OR REPLACE] SNAPSHOT TABLE [IF NOT EXISTS] <table_snapshot_name>
CLONE <source_table_name>
[OPTIONS(<snapshot_option_list>)]

參數說明

參數

描述

table_snapshot_name

待建立的錶快照名字。

source_table_name

基於哪張表建立快照。

snapshot_option_list

  • expiration_timestamp: 到期時間戳記,資料類型TIMESTAMP。該參數的時間設定必須晚於目前時間。

  • description:錶快照描述,資料類型STRING

使用樣本

CREATE SNAPSHOT TABLE <table_snapshot_name>
CLONE <source_table_name>
OPTIONS(
  expiration_timestamp=TIMESTAMP "2025-07-01 00:00:00",
  description="A table snapshot that expires in xxx days"
);

從錶快照恢複

可以恢複到源表或新增表。

CREATE [ OR REPLACE ] TABLE [ IF NOT EXISTS ] <source_table_name>
CLONE <table_snapshot_name>

修改錶快照

僅可修改OPTIONS。

ALTER SNAPSHOT TABLE [IF EXISTS] <snapshot_table_name>
SET OPTIONS(<snapshot_option_list>)

刪除錶快照

DROP SNAPSHOT TABLE [IF EXISTS] <table_snapshot_name>

許可權管控

錶快照的操作類似,其許可權管控包括建立錶快照、從錶快照恢複、列出錶快照、擷取錶快照描述、更新錶快照中繼資料、刪除錶快照、從錶快照查詢資料。

費用說明

儲存費用適用於錶快照,但MaxCompute僅對錶快照中尚未計入任何其他表的資料收費,詳細說明如下:

  • 在建立錶快照時,不會產生任何錶快照儲存費用。

  • 如果在建立錶快照後,向基表新增資料,不會因該新增資料而產生錶快照儲存費用。

  • 如果在建立錶快照後,在基表中更改或刪除資料,此時不對基表中被更新和刪除的資料產生儲存費用;但是由於這些資料仍儲存在快照表中,不會被清除,因此會產生錶快照儲存費用。

    說明

    在基表中更改或刪除的資料,在本地備份時間內仍然可通過本地備份恢複,並且不會產生本地備份費用。

  • 如果有多個錶快照包含已更改或已刪除的資料,則只需為最大的錶快照使用的儲存空間付費。