如何路径由统一目录管理的数据的工作吗?
本文解释限制在路径重叠统一目录,细节基于路径的数据文件访问模式统一目录对象,并描述了如何统一目录管理路径表和卷。
请注意
卷在砖运行时仅支持13.2及以上。砖13.1运行时,下面的行动/卷
路径可能会成功,但可以临时性存储磁盘写入数据附加到计算集群而不是持久化数据统一目录册。
统一目录对象的路径不能重叠
统一目录执行数据治理,防止管理目录的数据重叠。统一目录执行以下规定:
外部位置不能重叠其他外部位置。
表和卷数据文件存储在外部位置或metastore根的位置。
卷不能重叠其他卷。
表不能重叠其他表。
表和卷不能互相重叠。
管理存储位置不能互相重叠。看到管理存储。
外部卷不能重叠管理存储的位置。
外部表不能重叠管理存储的位置。
这些规则意味着限制存在于统一目录如下:
你不能在另一个外部位置定义外部位置。
你不能定义一个卷在另一个卷。
你不能在另一个表中定义一个表。
你不能定义一个表在任何数据文件或目录内的体积。
你不能在一个表上定义一个卷目录。
请注意
你总是可以使用基于路径访问卷写或读取数据文件,包括三角洲湖。你不能注册这些数据文件中的表统一目录metastore。
路径管理卷被统一全面管理目录表和管理
当您创建一个表或一个卷管理,统一目录创建一个新的目录统一Catalog-configured存储位置与包含关联模式。这个目录是随机生成的名称,以避免任何潜在的冲突和其他目录已经存在。
这种行为不同于蜂巢metastore创建管理表。砖建议总是与统一目录管理表交互使用的表名和统一目录管理卷使用卷的路径。
路径为外部表和外部卷由统一目录
当你创建一个外部表或外部卷,您指定一个路径在一个外部位置由统一目录。
重要的
砖建议不要创建一个外部卷或外部表的根源外部位置。相反,创建外部卷和外部表在外部子目录的位置。这些建议将有助于避免意外地重叠路径。看到统一目录对象的路径不能重叠。
为了便于使用,砖建议相互作用统一目录外部表使用目录表名和统一外部卷使用卷的路径。
重要的
统一目录管理所有权限访问使用云uri与外部表关联的数据或外部卷。这些权限覆盖与外部关联的任何特权的位置。看到统一目录权限和可获得的对象
你如何访问数据在统一目录吗?
统一目录对象通过对象标识符,提供对数据的访问路径,体积或云uri。你可以通过多种方法和一些相关的数据对象的访问。
统一目录表使用一个三层的标识符来访问以下模式:
<catalog_name> . <schema_name> . <table_name>
卷提供访问数据文件的文件路径使用以下模式:
/卷/ <catalog_name> / <schema_name> / <volume_name> / <path_to_file>
云uri要求用户提供司机,存储容器标识符、目标文件的完整路径,比如下面的例子:
gs:/ / <bucket_name> / <路径>
下面的表显示了统一的访问方法允许目录对象:
对象 |
对象标识符 |
文件路径 |
云URI |
---|---|---|---|
外部位置 |
没有 |
没有 |
是的 |
管理表 |
是的 |
没有 |
没有 |
外部表 |
是的 |
没有 |
是的 |
管理卷 |
没有 |
是的 |
没有 |
外部卷 |
没有 |
是的 |
没有 |
请注意
统一目录册使用三层对象标识符使用以下模式(如管理命令创建体积
和下降体积
):
<catalog_name> . <schema_name> . <volume_name>
与文件实际工作卷,您必须使用基于路径访问。