外部位置
適用於:磚的SQL磚運行時統一目錄隻
統一目錄和內置的磚蜂巢metastore使用默認管理表的位置。統一目錄引入了幾個新的可獲得的對象權限授予雲中的數據對象存儲。
外部位置
外部的位置是一個可獲得的對象,結合了一個存儲路徑和存儲憑證授權訪問路徑。
外部位置的創造者是最初的主人。外部位置的所有者可以修改外部位置的名字,URI和存儲憑證。
創建一個外部位置後,可以授權訪問帳戶級別校長(用戶和組)。
允許一個用戶或組使用一個外部位置可以訪問任何存儲路徑在位置的路徑沒有直接訪問存儲憑證。
進一步完善的訪問控製可以使用格蘭特在外部表封裝單個文件在外部訪問的位置。
外部位置的名稱不合格和metastore中必須是惟一的。
任何外部位置的存儲路徑不能被包含在另一個外部位置的存儲路徑,或在外部表的存儲路徑使用顯式存儲憑證。
例子
——“金融”用戶權限授予創建外部位置的my_aws_storage_cred存儲憑證,然後創建一個外部位置的具體路徑“my_aws_storage_cred”訪問>格蘭特創建外部位置在存儲憑證”my_aws_storage_cred”來”金融”>創建外部位置finance_locURL“s3: / /部門/金融”與(憑證my_aws_storage_cred)評論“金融”;——授予讀、寫,並創建表訪問財務位置“金融”用戶>格蘭特讀文件,寫文件,創建外部表在外部位置”finance_loc”來”金融”;——“金融”可以讀取任何存儲路徑下s3: / /部門/金融,但其他地方>選擇數(1)從”δ”。”s3:/ /部門/金融/forecast_delta_table”;One hundred.——“s3: / /部門/人力資源/”不是在外部位置“finance_loc”所以“金融”不能讀它>選擇數(1)從”δ”。”s3:/ /部門/人力資源/employees_delta_table”;錯誤——“金融”可以創建外部表中的特定對象“finance_loc”位置>創建表主要。默認的。sec_filings位置s3: / /部門/金融/ sec_filings ';——不能列表文件在外部表與用戶沒有選擇許可>列表s3: / /部門/金融/ sec_filings '錯誤>列表s3: / /部門/金融/ sec_filings / _delta_log”錯誤