外部表

適用於:檢查標記是的磚的SQL檢查標記是的磚運行時

統一目錄和內置的磚蜂巢metastore使用默認管理表的位置。統一目錄引入了幾個新的可獲得的對象權限授予雲中的數據對象存儲。

外部表

是一個外部表通過使用一個引用一個外部存儲路徑位置條款。

應該包含在一個現有的存儲路徑外部位置你已獲得訪問。

或者你可以參考存儲憑證你已獲得訪問。

使用外部表的存儲路徑進行了抽象,因此外部位置和存儲憑證用戶授予訪問外部表。

警告

如果一個模式(數據庫)注冊在你的工作空間層蜂巢metastore,模式使用級聯選項會導致所有文件被刪除遞歸模式位置,無論表類型(管理或外部)。

如果模式注冊metastore統一目錄,統一的文件目錄管理表遞歸地刪除。然而,文件外部表不刪除。你必須管理這些文件直接使用雲存儲提供商。

因此,為了避免數據意外丟失,您不應該注冊一個模式在一個蜂巢metastore位置與現有數據。你也不應該創建新的外部表在一個位置由蜂巢metastore模式或包含統一目錄管理表。

圖形表示的關係

下圖描述之間的關係:

  • 存儲憑證

  • 外部位置

  • 外部表

  • 存儲路徑

  • 我的實體

  • Azure服務帳戶

外部位置ER圖

例子

——“金融”可以創建外部表中的特定對象“finance_loc”位置>創建sec_filings位置s3: / /部門/金融/ sec_filings ';——不能列表文件在外部表沒有權限>列表s3:/ /部門/金融/sec_filings錯誤>列表s3:/ /部門/金融/sec_filings/_delta_log錯誤——授權訪問sec_filings所有員工>格蘭特選擇sec_filings員工;——“員工”集團的任何成員可以安全地sec_filings閱讀>選擇(1)sec_filings;20.——“員工”集團的任何成員可以列出文件sec_filings下表>列表s3:/ /部門/金融/sec_filings_delta_log>列表s3:/ /部門/金融/sec_filings/_delta_log00000年json