檔案支持磚

預覽

這個特性是在公共預覽磚運行時13.2及以上。

檔案支持磚介紹功能的集合,使您能夠使用基於雲計算的雲生命周期政策對象存儲包含三角洲表。

沒有檔案的支持,對三角洲表操作可以打破因為數據文件或事務日誌文件移動到存檔位置和查詢時不可用。檔案支持介紹優化,盡可能避免存檔數據的查詢和添加新語法來識別文件,必須從檔案恢複完成查詢。

重要的

磚隻有檔案支持S3冰川深存檔和冰川靈活的檢索。看到AWS文檔處理歸檔對象

歸檔數據的查詢優化

在磚優化檔案支持以下查詢三角洲表:

查詢

新的行為

選擇*< table_name >限製<限製>(在哪裏< partition_predicate >)

自動忽略歸檔文件並返回結果從non-archived中的數據存儲層。

三角洲湖維護命令:優化,ZORDER,分析,清洗

自動忽略存檔文件和運行維護的表。

DDL和DML語句覆蓋或刪除數據,包括以下:取代,插入覆蓋,截斷,下降

事務日誌目標歸檔數據文件的條目標記為刪除。

FSCK修複

忽略存檔文件,隻檢查文件,還沒有達到生命周期政策。

看到限製

早期的失敗和錯誤消息

查詢必須掃描存檔文件生成正確的結果,配置檔案支持三角洲湖確保以下幾點:

  • 查詢失敗早期如果他們試圖訪問文件歸檔,減少浪費的計算和允許用戶快速適應並重新運行查詢。

  • 錯誤消息通知用戶,查詢失敗了因為查詢試圖訪問存檔文件。

用戶可以生成報告的文件需要恢複使用顯示存檔文件語法。看到顯示存檔文件

啟用檔案支持

啟用檔案支持磚為三角洲表通過手動指定檔案間隔配置在底層雲生命周期管理政策,如以下示例語法:

改變<table_name>TBLPROPERTIES(δtimeUntilArchived=“X天);

三角洲湖並不直接與生命周期管理策略中配置你的雲賬戶。如果你更新政策雲賬戶,你必須更新政策δ表。看到改變規則生命周期管理過渡

重要的

檔案支持完全依賴兼容磚計算環境和隻適用於三角洲表。配置檔案支持不會改變行為,兼容性,或支持在OSS三角洲湖客戶或磚運行時13.1甚至更低。

顯示存檔文件

識別文件,完成給定的查詢,需要恢複使用顯示存檔文件,比如下麵的例子:

顯示存檔文件table_name(在哪裏謂詞];

該操作返回uri作為火花DataFrame存檔文件。

請注意

三角洲湖隻有訪問數據統計在這個操作過程中包含在事務日誌(最小值,最大值,零計數和記錄總數32第一列)。返回的文件包括所有歸檔文件,需要閱讀來確定是否滿足謂詞中存在文件記錄。磚,建議提供的謂詞包括字段的數據分區,z值,或集群,如果可能,減少文件數量,需要恢複。

限製

存在以下局限性:

  • 不支持生命周期管理政策存在不基於文件創建時間。這包括access-time-based政策和其他政策。

  • 你不能使用下降在一個表存檔文件。

  • REORG應用清洗做出最大的努力,但隻能刪除向量文件和引用的數據文件不存檔。清洗不能刪除存檔刪除矢量文件。

  • 延長生命周期管理過渡規則會導致意外的行為。看到延長生命周期管理轉換規則

改變規則生命周期管理過渡

如果你改變雲生命周期管理過渡的時間間隔規則,你必須更新屬性delta.timeUntilArchived

如果時間間隔縮短檔案之前(文件創建以來更少的時間),檔案支持增量表更新表屬性後繼續運轉正常。

延長生命周期管理轉換規則

如果歸檔前的時間間隔延長(文件創建以來更多的時間),更新屬性delta.timeUntilArchived新值會導致錯誤。雲提供商不恢複文件的歸檔存儲數據保留策略時自動改變。這意味著以前符合歸檔的文件,但是現在不考慮資格檔案存檔。

重要的

為了避免錯誤,沒有設置的屬性delta.timeUntilArchived的價值大於實際年齡最近歸檔數據。

考慮這樣一個場景,在該場景中,檔案的時間間隔改變從60天到90天:

  1. 當政策變化時,所有記錄60至90天已經存檔。

  2. 30天,沒有新的文件存檔(最古老的non-archived文件當時舊政策延長60天)。

  3. 後30天過去了,生命周期策略正確描述所有歸檔數據。

delta.timeUntilArchived設置跟蹤設置時間間隔對文件創建時間由三角洲事務日誌記錄。它沒有顯性知識的基本政策。延遲期間舊檔案閾值和新檔案之間閾值,你可以采取下列方法之一,避免查詢存檔文件:

  1. 你可以離開delta.timeUntilArchived老的閾值,直到足夠的時間過去了,所有的文件存檔。

    • 與上麵的例子後,每天第一個30天又一天的數據,將被認為是歸檔由雲提供商磚但未歸檔。這不會導致錯誤,但忽略了一些數據文件,可以查詢。

    • 30天之後,更新delta.timeUntilArchived90年

  2. 你可以更新設置delta.timeUntilArchived每天以反映當前間隔延遲期間。

    • 而雲政策設置為90天,歸檔數據變化的實際年齡。例如,7天後,設置delta.timeUntilArchived67年準確地反映了時代的所有數據文件存檔。

    • 這種方法僅僅是必要的,如果你需要訪問所有數據在熱層。

請注意

更新的值delta.timeUntilArchived實際上並沒有改變數據存檔。它隻改變數據磚對待,就好像它是存檔。