聯合目錄是什麼?
本文介紹統一目錄,統一的治理解決方案的數據和人工智能在Lakehouse資產。
統一目錄的概述
統一目錄提供集中式訪問控製、審計和數據發現能力磚工作區。
統一目錄的主要特點包括:
定義一次,安全無處不在:統一目錄提供了一個地方管理數據訪問政策應用在所有工作區和角色。
符合標準的安全模型:統一目錄的安全模型是基於標準ANSI SQL和允許管理員授予權限的現有數據使用熟悉的語法,湖的目錄、數據庫(也稱為模式),表和視圖。
內置的審計:統一目錄自動捕獲用戶級審計日誌記錄訪問您的數據。
數據發現:統一目錄讓你標簽和文檔數據資產,並提供一個搜索界麵,幫助消費者找到數據。
統一目錄對象模型
在統一目錄,主要數據對象的層次結構從metastore流向表:
Metastore元數據:頂層容器。每個metastore公開了一個三級名稱空間(
目錄
。模式
。表
),組織您的數據。目錄:對象層次結構的第一層,用來組織你的數據資產。
模式:也稱為數據庫,模式是第二層的對象層次結構,包含表和視圖。
表:在最低水平的對象層次結構表和視圖。
這是一個可獲得的統一編目對象的簡化視圖。更多細節,請參閱在統一目錄中可獲得的對象。
你引用的所有數據在統一目錄使用三級名稱空間:catalog.schema.table
。
Metastores
metastore頂層容器的對象在統一目錄。它存儲關於數據資產元數據(表和視圖)和控製訪問權限。磚賬戶管理員可以創建一個metastore每個區域的操作,並將它們分配給磚工作區在同一地區。工作區使用統一目錄,它必須有一個統一的目錄metastore附呈。
每個metastore配置與根存儲位置GCS鬥雲在你的穀歌賬戶。在默認情況下使用這個存儲位置來存儲數據管理表。
請注意
這種metastore有別於蜂巢metastore磚工作區中包含未支持統一目錄。如果您的工作區包括遺留蜂巢metastore, metastore仍將可用的數據和數據中定義統一目錄,在目錄命名hive_metastore
。請注意,hive_metastore
目錄不是由統一目錄管理,不受益於相同的特性集目錄中定義統一目錄。
目錄
統一目錄的目錄是第一層三級名稱空間。它是用來組織你的數據資產。用戶可以看到他們被分配的所有目錄使用目錄
數據權限。
所有用戶的使用目錄
許可的主要
目錄。的主要
目錄是用於組織剛剛開始統一目錄。添加用戶和數據時,您應該添加目錄保持數據層次結構,可以有效地控製訪問。
看到創建和管理目錄。
模式
一個模式(也稱為一個數據庫)是統一目錄的第二層三級名稱空間。一個模式組織表和視圖。用戶可以看到他們被分配的所有模式使用模式
許可,以及使用目錄
許可模式的父目錄。訪問或列表中的一個表或視圖模式,用戶還必須選擇
允許在表或視圖。
看到創建和管理模式(數據庫)。
表
表統一目錄駐留在第三層的三級名稱空間。它包含的數據行。創建一個表,用戶必須有創建
和使用模式
模式的權限,他們必須有使用目錄
允許在它的父目錄。查詢一個表,用戶必須有選擇
許可,使用模式
允許在母公司模式,使用目錄
允許在它的父目錄。
一個表可以管理或外部。
管理表
管理表默認統一目錄創建表的方法。統一目錄管理生命周期,這些表文件布局。你不應該使用工具以外的磚在這些表直接操作文件。
默認情況下,存儲在根管理表存儲位置當你創建一個metastore配置。您可以選擇性地指定管理表目錄存儲位置或模式的水平,覆蓋根存儲位置。總是使用管理表δ表的格式。
當一個表被刪除管理,基礎數據被刪除從您的雲在30天內租戶。
看到管理表。
外部表
外部表是表的數據生命周期和文件布局並不是由統一目錄管理。使用外部表注冊大量的現有數據統一目錄,或者如果您需要直接訪問數據使用工具以外的磚集群或磚SQL的倉庫。
當你刪除一個外部表,統一目錄不會刪除底層數據。管理外部表上的特權,可以在查詢中使用相同的方式管理表。
外部表可以使用以下文件格式:
δ
CSV
JSON
AVRO
拚花
獸人
文本
看到外部表。
存儲憑證和外部的位置
管理訪問底層雲存儲為一個外部表,統一目錄介紹以下對象類型:
存儲憑證封裝一個長期雲憑據提供對雲存儲的訪問。例如,一個服務帳戶可以訪問GCS桶。
外部位置包含一個引用存儲憑證和雲存儲路徑。
看到管理外部位置和存儲憑證。
統一身份管理目錄
統一目錄使用磚帳戶的身份來解決用戶、服務主體,組織,執行權限。
配置身份的賬戶,按照說明管理用戶、服務主體和組織。是指用戶,服務主體,當您創建組訪問控製策略在統一目錄。
統一目錄用戶、服務主體和組也必須被添加到工作區目錄數據訪問統一在一個筆記本,一個磚的SQL查詢,數據瀏覽,或者一個REST API命令。用戶的分配、服務主體和組織工作聯合身份驗證。
所有工作空間統一目錄metastore附加到支持聯合身份驗證。
特殊注意事項集團
任何團體已經存在於工作區標記工作空間的地方在控製台。這些workspace-local組不能用於統一目錄定義訪問策略。您必須使用帳戶級別組。如果workspace-local組中引用一個命令,該命令將返回一個錯誤,沒有找到。如果您之前使用workspace-local組來管理訪問筆記本和其他構件,這些權限仍然有效。
看到管理組。
為統一目錄管理角色
以下所需管理角色管理統一目錄:
賬戶管理員可以管理的身份,雲資源和創建工作區和統一目錄metastores。
管理員可以為統一啟用工作區目錄。他們可以資助工作區和metastore管理權限。
Metastore管理員可以管理權限和所有權metastore內所有可獲得的對象,比如誰可以創建目錄或查詢一個表。
帳戶管理誰創建統一目錄metastore成為初始metastore admin。metastore管理員也可以選擇將這個角色委托給另一個用戶或組。我們建議把metastore管理員分配給一組,在這種情況下,集團的任何成員接收metastore管理員的特權。看到(推薦)所有權轉移的metastore一組。
工作空間管理員磚工作區可以添加用戶,分配他們的工作區管理角色,和管理訪問對象和功能在工作區中,如創建集群的能力和改變工作的所有權。
看到管理用戶、服務主體和組織。
數據權限統一目錄
在統一目錄,默認數據是安全的。最初,用戶沒有訪問metastore中的數據。訪問可以頒發metastore管理,一個對象的所有者,或者目錄的所有者或模式包含對象。可獲得的對象統一目錄層次和特權是繼承了下行。
您可以使用數據分配和撤銷權限探險家,SQL命令,或REST api。
看到統一目錄管理權限。
集群統一目錄的訪問模式
訪問數據在統一目錄,集群必須使用正確的配置訪問模式。統一目錄默認情況下是安全的。如果沒有配置了一個集群Unity-Catalog-capable訪問模式(即共享或單用戶),集群不能訪問數據在統一目錄。
我怎樣為我的組織建立統一目錄嗎?
為您的組織建立統一目錄,您執行以下操作:
配置一個gc桶統一目錄可以用來存儲和訪問數據在你的GCP帳戶。
metastore創造的一部分(下一步),磚生成一個服務帳戶,您將使用授權訪問這GCS桶。
為每個區域創建一個metastore組織運作。
附加metastore工作區。每個工作空間都有相同的觀點統一的數據管理目錄。
如果你有一個新的帳戶,添加用戶、組和磚帳戶服務主體。
接下來,您創建和授權訪問目錄、模式、和表。
完整的安裝指導,明白了開始使用統一目錄。
支持計算
聯合目錄是支持集群運行的磚運行時11.3 LTS或以上。統一目錄默認支持在所有SQL倉庫計算的版本。
集群上運行的早期版本的磚運行時不提供支持所有統一目錄GA的特性和功能。
信息統一編目功能後磚運行時版本的更新,看到發布說明對於那些版本。
支持地區
的地區列表支持統一目錄,看看磚雲層和地區。
限製
統一目錄有以下限製。
請注意
如果您的集群上運行低於11.3 LTS磚運行時版本,可能會有額外的限製,沒有列在這裏。統一數據磚上的目錄支持運行時11.3 LTS或以上。
一般的局限性
Scala、R和工作負載使用磚運行時對集群使用機器學習隻支持單用戶訪問模式。工作負載在這些語言不支持使用行級或列級安全的動態視圖。
在磚運行時13.1及以上,淺克隆支持創建統一目錄管理表從現有統一目錄管理表。在磚運行時的13.0和下麵,沒有支持淺克隆統一目錄。看到統一目錄管理表淺克隆。
用桶裝不支持統一目錄表。如果你運行命令,試圖創建一個桶表統一目錄,它會拋出一個異常。
寫入相同的路徑或三角洲湖表工作區在多個區域可以導致不可靠的性能,如果一些集群訪問目錄和其他不統一。
使用命令創建的自定義分區方案
改變表添加分區
不支持統一目錄表。統一使用目錄風格的分區的目錄可以訪問表。覆蓋模式DataFrame寫操作為三角洲隻支持統一目錄表,不為其他文件格式。用戶必須有
創建
在家長模式和特權必須現有對象的所有者或有修改
對象上的特權。Spark-submit工作支持單用戶集群而不是共享集群。看到集群訪問模式是什麼?。
Python UDF支持共享集群支持私人預覽。請聯係您的客戶服務團隊訪問。
以前在一個工作區中創建(即工作空間層組)不能用於統一目錄GRANT語句。這是確保一致的視圖的團體可以跨工作區。使用GRANT語句組,創建你的組帳戶級別和更新任何自動化的主體或組管理(如SCIM, Okta和AAD連接器,起程拓殖)端點引用賬戶而不是工作區端點。看到賬戶組和workspace-local組之間的區別。
標準Scala不支持線程池。相反,使用特殊的線程池
org.apache.spark.util.ThreadUtils
例如,org.apache.spark.util.ThreadUtils.newDaemonFixedThreadPool
。然而,下麵的線程池ThreadUtils
不支持:ThreadUtils.newForkJoinPool
和任何ScheduledExecutorService
線程池。
結構化流媒體支持
支持結構化流在統一編目表(管理或外部)取決於你是磚運行時版本上運行,不管你是使用共享或單用戶集群。
支持共享集群需要磚運行時的12.2 LTS和上麵,用以下限製:
Python。
不支持Apache火花連續處理模式。看到_。
applyInPandasWithState
不支持。不支持使用套接字的來源。
StreamingQueryListener
不能使用憑證或與對象由統一目錄管理。的
sourceArchiveDir
必須在同一外部位置作為源當你使用選項(“cleanSource”,“檔案”)
與數據源由統一目錄管理。卡夫卡的源和彙,下列選項不支持:
kafka.sasl.client.callback.handler.class
kafka.sasl.login.callback.handler.class
kafka.sasl.login.class
kafka.partition.assignment.strategy
以下卡夫卡選項在磚13.0運行時支持但不支持在運行時12.2 LTS磚。你隻能為這些選項指定外部位置由統一目錄管理:
kafka.ssl.truststore.location
kafka.ssl.keystore.location
支持單用戶集群可用上麵的磚運行時11.3 LTS和,用以下限製:
不支持Apache火花連續處理模式。看到_。
StreamingQueryListener
不能使用憑證或與對象由統一目錄管理。不支持異步檢查點在磚運行時11.3 LTS下麵。它是在磚運行時支持12.0及以上。
另請參閱使用統一的目錄和結構化流。
資源配額
統一目錄執行資源配額在所有可獲得的對象。限製尊重中同一層次組織統一目錄。如果你期望超過這些資源限製,與你的磚賬戶代表聯係。
配額值以下是表示相對於父對象的統一目錄。
對象 |
父 |
價值 |
---|---|---|
表 |
模式(數據庫) |
10000年 |
模式 |
目錄 |
10000年 |
目錄 |
metastore |
1000年 |
存儲憑證 |
metastore |
200年 |
外部位置 |
metastore |
500年 |
功能 |
模式 |
10000年 |
δ共享限製,請參閱資源配額。