聯合目錄是什麼?

本文介紹統一目錄,統一的治理解決方案的數據和人工智能在Lakehouse資產。

統一目錄的概述

統一目錄提供集中式訪問控製、審計、血統和數據發現功能在磚工作區。

統一目錄圖

統一目錄的主要特點包括:

  • 定義一次,安全無處不在:統一目錄提供了一個地方管理數據訪問政策應用在所有工作區和角色。

  • 符合標準的安全模型:統一目錄的安全模型是基於標準ANSI SQL和允許管理員授予權限的現有數據使用熟悉的語法,湖的目錄、數據庫(也稱為模式),表和視圖。

  • 內置的審計和血統:統一目錄自動捕獲用戶級審計日誌記錄訪問您的數據。統一目錄也捕捉數據血統追蹤數據資產如何創建和使用在所有語言和角色。

  • 數據發現:統一目錄讓你標簽和文檔數據資產,並提供一個搜索界麵,幫助消費者找到數據。

  • 係統表(公共預覽版):統一目錄可以讓你輕鬆地訪問和查詢你的賬戶的運營數據,包括審計日誌,計費使用和血統。

統一目錄對象模型

在統一目錄,主要數據對象的層次結構從metastore流向表或者體積:

  • Metastore元數據:頂層容器。每個metastore公開了一個三級名稱空間(目錄模式),組織您的數據。

  • 目錄:對象層次結構的第一層,用來組織你的數據資產。

  • 模式:也稱為數據庫,模式是第二層的對象層次結構,包含表和視圖。

  • 體積:卷坐與表和視圖對象層次結構的最低水平和提供治理non-tabular數據。

  • :在最低水平的對象層次結構表和視圖。

統一目錄對象模型圖

這是一個可獲得的統一編目對象的簡化視圖。更多細節,請參閱在統一目錄中可獲得的對象

你引用的所有數據在統一目錄使用三級名稱空間:catalog.schema.table

Metastores

metastore頂層容器的對象在統一目錄。它存儲關於數據資產元數據(表和視圖)和控製訪問權限。磚帳戶管理員應該為每個區域中創建一個metastore操作,並將它們分配給磚工作區在同一地區。工作區使用統一目錄,它必須有一個統一的目錄metastore附呈。

每個metastore配置管理存儲位置在AWS帳戶S3存儲桶中。看到管理存儲

請注意

這種metastore有別於蜂巢metastore磚工作區中包含未支持統一目錄。如果您的工作區包括遺留蜂巢metastore, metastore仍將可用的數據和數據中定義統一目錄,在目錄命名hive_metastore。請注意,hive_metastore目錄不是由統一目錄管理,不受益於相同的特性集目錄中定義統一目錄。

看到創建一個目錄metastore統一

管理存儲

當一個帳戶管理員創建一個metastore,他們必須關聯存儲位置在AWS帳戶使用S3存儲桶中管理存儲。統一目錄還允許用戶將管理存儲位置與目錄和模式。

管理存儲有以下屬性:

  • 卷管理表和管理數據和元數據文件存儲在存儲管理。

  • 管理存儲不能重疊與外部表、外部卷或其他存儲管理。

下表描述了如何管理存儲聲明和相關的統一編目對象:

統一目錄對象相關

如何設置

與外部的位置

Metastore

metastore創建期間通過賬戶管理員配置。

不能重疊外部位置。

目錄

指定的目錄創建期間使用位置關鍵字。

必須包含在一個外部的位置。

模式

指定的模式創建期間使用位置關鍵字。

必須包含在一個外部的位置。

托管存儲位置用來存儲數據和元數據管理表和管理卷使用以下規則:

  • 如果包含模式管理的位置,數據存儲在模式管理的位置。

  • 如果包含模式沒有位置但目錄管理位置管理,管理的數據存儲在目錄的位置。

  • 如果既不包含模式也不包含目錄的管理位置,數據存儲在metastore管理位置。

存儲憑證和外部的位置

管理訪問底層雲存儲為外部表,外卷,和管理存儲,統一目錄介紹以下對象類型:

  • 存儲憑證封裝一個長期雲憑據提供對雲存儲的訪問。例如,一個我的角色可以訪問S3 bucket。

  • 外部位置包含一個引用存儲憑證和雲存儲路徑。

看到管理外部位置和存儲憑證

目錄

統一目錄的目錄是第一層三級名稱空間。它是用來組織你的數據資產。用戶可以看到他們被分配的所有目錄使用目錄數據權限

所有用戶的使用目錄許可的主要目錄。的主要目錄是用於組織剛剛開始統一目錄。添加用戶和數據時,您應該添加目錄保持數據層次結構,可以有效地控製訪問。

看到創建和管理目錄

模式

一個模式(也稱為一個數據庫)是統一目錄的第二層三級名稱空間。一個模式組織表和視圖。用戶可以看到他們被分配的所有模式使用模式許可,以及使用目錄許可模式的父目錄。訪問或列表中的一個表或視圖模式,用戶還必須選擇允許在表或視圖。

看到創建和管理模式(數據庫)

預覽

這個特性是在公共預覽

卷駐留在第三層的聯合目錄的三級名稱空間。卷是兄弟姐妹表、視圖和其他對象組織在統一模式下目錄。

卷包含數據存儲在任何目錄和文件格式。卷提供non-tabular訪問數據,這意味著文件卷不能被注冊為表。

  • 創建卷,用戶必須有創建體積使用模式模式的權限,他們必須有使用目錄允許在它的父目錄。

  • 讀文件和目錄存儲在一個卷,用戶必須有體積許可,使用模式允許在母公司模式,使用目錄允許在它的父目錄。

  • 添加、刪除或修改文件和目錄存儲在一個體積,用戶必須有體積許可,使用模式允許在母公司模式,使用目錄允許在它的父目錄。

一個卷可以管理外部

管理卷

卷管理文件存儲在統一目錄默認存儲位置他們包含的模式。管理卷是一個方便的解決方案,當你想提供一個管理位置處理文件沒有創建和管理外部位置的開銷和存儲憑證。

下麵的優先級控製位置是用於管理卷:

  • 模式位置

  • 目錄位置

  • 統一目錄根存儲位置

當你刪除一個卷管理,文件存儲在本卷也被刪除從您的雲在30天內租戶。

看到有管理的體積是多少?

外部卷

外部外部位置和體積是注冊到一個統一的目錄提供了訪問現有的雲存儲的文件不需要數據遷移。用戶必須有創建外部體積允許在外部位置創建一個外部卷。

外部卷支持場景文件是由其他係統和訪問從內部上演磚磚外使用對象存儲或工具需要直接文件訪問。

統一目錄不管理的生命周期和布局文件在外部卷。當你刪除一個外部卷、統一目錄不會刪除底層數據。

看到一個外部的體積是多少?

表統一目錄駐留在第三層的三級名稱空間。它包含的數據行。創建一個表,用戶必須有創建使用模式模式的權限,他們必須有使用目錄允許在它的父目錄。查詢一個表,用戶必須有選擇許可,使用模式允許在母公司模式,使用目錄允許在它的父目錄。

一個表可以管理外部

管理表

管理表默認統一目錄創建表的方法。統一目錄管理生命周期,這些表文件布局。你不應該使用工具以外的磚在這些表直接操作文件。

默認情況下,存儲在根管理表存儲位置當你創建一個metastore配置。您可以選擇性地指定管理表目錄存儲位置或模式的水平,覆蓋根存儲位置。總是使用管理表δ表的格式。

當一個表被刪除管理,基礎數據被刪除從您的雲在30天內租戶。

看到管理表

外部表

外部表是表的數據生命周期和文件布局並不是由統一目錄管理。使用外部表注冊大量的現有數據統一目錄,或者如果您需要直接訪問數據使用工具以外的磚集群或磚SQL的倉庫。

當你刪除一個外部表,統一目錄不會刪除底層數據。管理外部表上的特權,可以在查詢中使用相同的方式管理表。

外部表可以使用以下文件格式:

  • δ

  • CSV

  • JSON

  • AVRO

  • 拚花

  • 獸人

  • 文本

看到外部表

的觀點

一個視圖是一個隻讀對象創建從一個或多個metastore表和視圖。它駐留在統一目錄的第三層三級名稱空間。一個視圖可以從多個表和其他視圖創建模式和目錄。您可以創建動態視圖使行和列級權限。

看到創建一個動態視圖

模型

模型位於第三層的聯合目錄的三級名稱空間。在這種背景下,“模式”是指一個注冊的機器學習模型MLflow模型注冊。在統一目錄創建一個模型,用戶必須有創建模型特權的目錄或模式。用戶也必須有使用目錄在父目錄和特權使用模式在家長模式。

統一身份管理目錄

統一目錄使用磚帳戶的身份來解決用戶、服務主體,組織,執行權限。

配置身份的賬戶,按照說明管理用戶、服務主體和組織。是指用戶,服務主體,當您創建組訪問控製策略在統一目錄。

統一目錄用戶、服務主體和組也必須被添加到工作區目錄數據訪問統一在一個筆記本,一個磚的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訪問模式(也就是說,共享或分配),集群不能訪問數據在統一目錄。

看到創建集群和SQL倉庫統一目錄訪問

為統一編目數據沿襲

您可以使用統一的目錄來捕獲運行時數據沿襲在任何語言磚集群上執行查詢或SQL倉庫。血統是捕獲到列水平,包括筆記本、工作流和儀表板相關查詢。欲了解更多,請看捕獲和視圖數據沿襲統一目錄

Lakehouse聯合和統一目錄

Lakehouse聯合查詢聯邦磚的平台。Beplay体育安卓版本這個詞查詢聯合會描述一組功能,讓用戶和係統運行查詢多個孤立數據源而不需要所有數據遷移到一個統一的係統。

磚使用統一目錄管理查詢的聯盟。你使用統一目錄配置隻讀連接受歡迎的外部數據庫係統和創造外國目錄鏡子外部數據庫。聯合目錄的數據管理和數據沿襲工具確保數據訪問管理和審計所有的聯邦查詢由磚中的用戶工作區。

看到使用Lakehouse聯合運行查詢

我怎樣為我的組織建立統一目錄嗎?

為您的組織建立統一目錄,您執行以下操作:

  1. 配置一個S3 bucket和我角色統一目錄可以使用AWS帳戶存儲和訪問數據。

  2. 為每個區域創建一個metastore組織運作。

  3. 附加metastore工作區。每個工作空間都有相同的觀點統一的數據管理目錄。

  4. 如果你有一個新的帳戶,添加用戶、組和磚帳戶服務主體。

接下來,您創建和授權訪問目錄、模式、和表。

完整的安裝指導,明白了開始使用統一目錄

支持計算

聯合目錄是支持集群運行的磚運行時11.3 LTS或以上。統一目錄默認支持在所有SQL倉庫計算的版本。

集群上運行的早期版本的磚運行時不提供支持所有統一目錄GA的特性和功能。

信息統一編目功能後磚運行時版本的更新,看到發布說明對於那些版本。

支持地區

的地區列表支持統一目錄,看看磚雲層和地區

支持數據文件格式

統一目錄支持以下表的格式:

  • 管理表必須使用δ表的格式。

  • 外部表可以使用δ,CSV,JSON,avro,拚花,獸人,或文本

限製

統一目錄有以下限製。

請注意

如果您的集群上運行低於11.3 LTS磚運行時版本,可能會有額外的限製,沒有列在這裏。統一數據磚上的目錄支持運行時11.3 LTS或以上。

一般的局限性

  • Scala、R和工作負載使用磚運行時對集群使用機器學習隻支持單用戶訪問模式。工作負載在這些語言不支持使用行級或列級安全的動態視圖。

  • 在磚運行時13.1及以上,淺克隆支持創建統一目錄管理表從現有統一目錄管理表。在磚運行時的13.0和下麵,沒有支持淺克隆統一目錄。看到統一目錄管理表淺克隆

  • 用桶裝不支持統一目錄表。如果你運行命令,試圖創建一個桶表統一目錄,它會拋出一個異常。

  • 寫入相同的路徑或三角洲湖表工作區在多個區域可以導致不可靠的性能,如果一些集群訪問目錄和其他不統一。

  • 使用命令創建的自定義分區方案改變添加分區不支持統一目錄表。統一使用目錄風格的分區的目錄可以訪問表。

  • 覆蓋模式DataFrame寫操作為三角洲隻支持統一目錄表,不為其他文件格式。用戶必須有創建在家長模式和特權必須現有對象的所有者或有修改對象上的特權。

  • Spark-submit工作支持單用戶訪問但不能共享集群。看到集群訪問模式是什麼?

  • 在磚運行時的13.1和下麵,你不能使用Python udf,包括UDAFs UDTFs,熊貓在火花(applyInPandasmapInPandas)。在磚運行時13.2及以上,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線程池。

請注意

統一目錄要求E2版本的磚平台Beplay体育安卓版本。所有新磚賬戶和大多數現有賬戶的E2。如果你不確定該帳戶類型,請聯係您的磚的代表。

以下限製適用於所有對象名稱統一目錄:

  • 對象名稱不能超過255個字符。

  • 以下不允許特殊字符:

    • 時期()

    • 空間()

    • 正斜杠(/)

  • 所有的ASCII控製字符(00-1F十六進製)

  • 刪除字符(7 f十六進製)

  • 統一目錄商店所有對象名稱為小寫。

  • 在SQL引用加州大學的名字時,你必須使用引號來逃避名稱包含特殊字符,如連字符(- - - - - -)。

請注意

列名稱可以使用特殊字符,但名字必須轉義引號的所有SQL語句如果使用特殊字符。統一目錄保存列名套管,但查詢統一編目表是不區分大小寫的。

結構化流媒體支持

支持結構化流在統一編目表(管理或外部)取決於你是磚運行時版本上運行,不管你是使用共享或單個用戶訪問模式。

支持共享集群需要磚運行時的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年

函數

模式

10000年

模型

模式

1000年

模式

目錄

10000年

目錄

metastore

1000年

連接

metastore

1000年

存儲憑證

metastore

200年

外部位置

metastore

500年

δ共享限製,請參閱資源配額