联合目录是什么?

本文介绍统一目录,统一的治理解决方案的数据和人工智能在Lakehouse资产。

统一目录的概述

统一目录提供集中式访问控制、审计、血统和数据发现功能在砖工作区。

统一目录图

统一目录的主要特点包括:

  • 定义一次,安全无处不在:统一目录提供了一个地方管理数据访问政策应用在所有工作区和角色。

  • 符合标准的安全模型:统一目录的安全模型是基于标准ANSI SQL和允许管理员授予权限的现有数据使用熟悉的语法,湖的目录、数据库(也称为模式),表和视图。

  • 内置的审计和血统:统一目录自动捕获用户级审计日志记录访问您的数据。统一目录也捕捉数据血统追踪数据资产如何创建和使用在所有语言和角色。

  • 数据发现:统一目录让你标签和文档数据资产,并提供一个搜索界面,帮助消费者找到数据。

统一目录对象模型

在统一目录,主要数据对象的层次结构从metastore流向表:

  • Metastore元数据:顶层容器。每个metastore公开了一个三级名称空间(目录模式),组织您的数据。

  • 目录:对象层次结构的第一层,用来组织你的数据资产。

  • 模式:也称为数据库,模式是第二层的对象层次结构,包含表和视图。

  • :在最低水平的对象层次结构表和视图。

统一目录对象模型图

这是一个可获得的统一编目对象的简化视图。更多细节,请参阅在统一目录中可获得的对象

你引用的所有数据在统一目录使用三级名称空间:catalog.schema.table

Metastores

metastore顶层容器的对象在统一目录。它存储关于数据资产元数据(表和视图)和控制访问权限。砖账户管理员可以创建一个metastore每个区域的操作,并将它们分配给砖工作区在同一地区。工作区使用统一目录,它必须有一个统一的目录metastore附呈。

每个metastore配置了一个根存储位置在AWS帐户S3存储桶中。在默认情况下使用这个存储位置来存储数据管理表

请注意

这种metastore有别于蜂巢metastore砖工作区中包含未支持统一目录。如果您的工作区包括遗留蜂巢metastore, metastore仍将可用的数据和数据中定义统一目录,在目录命名hive_metastore。请注意,hive_metastore目录不是由统一目录管理,不受益于相同的特性集目录中定义统一目录。

看到创建一个目录metastore统一

目录

统一目录的目录是第一层三级名称空间。它是用来组织你的数据资产。用户可以看到他们被分配的所有目录使用目录数据权限

看到创建和管理目录

模式

一个模式(也称为一个数据库)是统一目录的第二层三级名称空间。一个模式组织表和视图。用户可以看到他们被分配的所有模式使用模式许可,以及使用目录许可模式的父目录。访问或列表中的一个表或视图模式,用户还必须选择允许在表或视图。

看到创建和管理模式(数据库)

表统一目录驻留在第三层的三级名称空间。它包含的数据行。创建一个表,用户必须有创建使用模式模式的权限,他们必须有使用目录允许在它的父目录。查询一个表,用户必须有选择许可,使用模式允许在母公司模式,使用目录允许在它的父目录。

一个表可以管理外部

管理表

管理表默认统一目录创建表的方法。统一目录管理生命周期,这些表文件布局。你不应该使用工具以外的砖在这些表直接操作文件。

默认情况下,存储在根管理表存储位置当你创建一个metastore配置。您可以选择性地指定管理表目录存储位置或模式的水平,覆盖根存储位置。总是使用管理表δ表的格式。

当一个表被删除管理,基础数据被删除从您的云在30天内租户。

看到管理表

外部表

外部表是表的数据生命周期和文件布局并不是由统一目录管理。使用外部表注册大量的现有数据统一目录,或者如果您需要直接访问数据使用工具以外的砖集群或砖SQL的仓库。

当你删除一个外部表,统一目录不会删除底层数据。管理外部表上的特权,可以在查询中使用相同的方式管理表。

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

  • δ

  • CSV

  • JSON

  • AVRO

  • 拼花

  • 兽人

  • 文本

看到外部表

存储凭证和外部的位置

管理访问底层云存储为一个外部表,统一目录介绍以下对象类型:

  • 存储凭证封装一个长期云凭据提供对云存储的访问。例如,一个我的角色可以访问S3 bucket。

  • 外部位置包含一个引用存储凭证和云存储路径。

看到管理外部位置和存储凭证

的观点

一个视图是一个只读对象创建从一个或多个metastore表和视图。它驻留在统一目录的第三层三级名称空间。一个视图可以从多个表和其他视图创建模式和目录。您可以创建动态视图使行和列级权限。

看到创建一个动态视图

统一身份管理目录

统一目录使用砖帐户的身份来解决用户、服务主体,组织,执行权限。

配置身份的账户,按照说明管理用户、服务主体和组织。是指用户,服务主体,当您创建组访问控制策略在统一目录。

统一目录用户、服务主体和组也必须被添加到工作区目录数据访问统一在一个笔记本,一个砖的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仓库。血统是捕获到列水平,包括笔记本、工作流和仪表板相关查询。欲了解BOB低频彩更多,请看捕获和视图数据沿袭统一目录

我怎样为我的组织建立统一目录吗?

为您的组织建立统一目录,您执行以下操作:

  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和工作负载使用砖运行时对集群使用机器学习只支持单用户访问模式。工作负载在这些语言不支持使用行级或列级安全的动态视图。

  • 浅克隆不支持当你使用统一目录复制的源或目标。

  • 用桶装不支持统一目录表。如果你运行命令,试图创建一个桶表统一目录,它会抛出一个异常。

  • 写入相同的路径或三角洲湖表工作区在多个区域可以导致不可靠的性能,如果一些集群访问目录和其他不统一。

  • 使用命令创建的自定义分区方案改变添加分区不支持统一目录表。统一使用目录风格的分区的目录可以访问表。

  • 覆盖模式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线程池。

请注意

统一目录要求E2版本的砖平台bob体育客户端下载。所有新砖账户和大多数现有账户的E2。如果你不确定该帐户类型,请联系您的砖的代表。

结构化流媒体支持

支持结构化流在统一编目表(管理或外部)取决于你是砖运行时版本上运行,不管你是使用共享或单用户集群。

支持共享集群需要砖运行时的12.2 LTS和上面,用以下限制:

  • Python。

  • 不支持连续流。

  • 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和,用以下限制:

  • 不支持连续流。

  • StreamingQueryListener不能使用凭证或与对象由统一目录管理。

  • 不支持异步检查点在砖运行时11.3 LTS下面。它是在砖运行时支持12.0及以上。

另请参阅使用统一的目录和结构化流

资源配额

统一目录执行资源配额在所有可获得的对象。限制尊重中同一层次组织统一目录。如果你期望超过这些资源限制,与你的砖账户代表联系。

配额值以下是表示相对于父对象的统一目录。

对象

价值

模式(数据库)

10000年

模式

目录

10000年

目录

metastore

1000年

存储凭证

metastore

200年

外部位置

metastore

500年

功能

模式

10000年

δ共享限制,请参阅资源配额