最佳实践DBFS和统一目录

统一目录介绍一些新配置和方法比DBFS数据治理完全不同的概念。本文概述了一些最佳实践在处理外部位置和DBFS统一目录。

砖建议不要使用DBFS和安装云对象存储对于大多数用例在统一Catalog-enabled砖工作区。本文描述了几个场景中,您应该使用安装云对象存储。注意,砖不建议使用DBFS根结合统一目录,除非你必须迁移文件或数据存储到统一目录。

DBFS用于统一Catalog-enabled工作区吗?

DBFS根默认位置用于存储文件与在砖工作区中执行的操作,包括创建管理workspace-scoped中的表hive_metastore。对表执行的动作hive_metastore使用遗留数据访问模式,其中可能包括数据和存储凭证由DBFS管理。

单用户访问模式DBFS是如何工作的?

集群配置了单用户访问模式DBFS完全访问,包括在DBFS根和所有文件安装数据。DBFS根和挂载在这个访问模式,使其成为首选毫升的工作负载需要访问统一编目数据集。

砖推荐使用的服务主体与计划工作和单用户访问模式的生产工作负载需要访问数据由DBFS和统一目录管理。

DBFS在共享访问模式下工作如何?

共享访问模式结合了联合编目数据治理和砖遗留表的acl。对数据的访问hive_metastore仅仅是提供给用户权限明确。

直接使用DBFS与文件,你必须有任何文件权限授予。因为任何文件允许用户绕过遗留表的aclhive_metastore由DBFS和访问所有数据管理,数据砖建议谨慎当授予特权。

使用DBFS而推出统一目录集群与单用户访问模式

砖建议使用DBFS坐骑为init脚本、配置和库存储在外部存储中。这种行为在共享访问模式下不支持。

不要使用DBFS和统一目录外部位置

统一目录保护访问数据在外部位置通过使用完整的云URI路径确定资助对象存储目录管理。DBFS坐骑使用一种完全不同的数据访问模式,完全绕过统一目录。砖建议你不重用云之间的对象存储卷DBFS坐骑和加州大学外部卷。

安全的统一Catalog-managed存储

每个目录metastore统一有一个对象存储账户由砖帐户管理员配置。统一目录使用这个位置来存储所有的数据和元数据统一Catalog-managed表。

一个存储账户用于统一目录metastore应该:

  • 全民创建新目录。

  • 有一个自定义身份政策为统一定义目录。

  • 只有可以统一目录。

  • 只能使用身份访问访问政策为统一创建目录。

现有的数据添加到外部的位置

可以存储账户现有加载到统一目录使用外部的位置。最大的安全,砖建议只加载存储账户外部位置如果所有其他存储凭证和访问模式已被撤消。

你不能加载存储帐户用作DBFS根外部统一目录中的位置。

集群配置是忽视了统一目录文件系统访问

统一目录不尊重集群配置文件设置。这意味着Hadoop文件系统设置配置自定义行为与云对象存储不使用统一编目工作当访问数据。

限制在多个路径访问

虽然通常可以使用统一目录和DBFS一起,路径相等或共享一个父/子关系不能引用相同的命令或笔记本电池使用不同的访问方法。

例如,如果一个外部表喷火被定义的hive_metastore在位置a / b / c和外部位置统一目录中定义a / b /,下面的代码会抛出一个错误:

火花(“foo”)过滤器(“id”不是零)模式(“覆盖”)保存(“a / b / c”)

这个错误不会出现如果这个逻辑是分为两个单元:

df=火花(“foo”)过滤器(“id”不是零)
df模式(“覆盖”)保存(“a / b / c”)