当在砖分区表

本文概述如何分区表的砖和具体建议当你应该使用分区表由三角洲湖。因为内置功能和优化,大多数表小于1 TB的数据不需要分区。

在砖运行时的8.4及以上,砖使用三角洲湖默认为所有表。以下建议假定你正在与三角洲湖所有表。

在砖运行时的11.2及以上,砖自动集群分区表中的数据因摄入时间。看到利用摄入时间聚类

小桌子需要分区吗?

砖建议你不分区表包含不到1 tb的数据。

什么是最小尺寸为每个分区表?

砖建议所有分区包含至少一个字节的数据。表用更少的,更大的分区倾向于表现和许多较小的分区表。

利用摄入时间聚类

通过使用三角洲湖和砖运行时11.2或更高版本,您创建分区表自动从受益摄入时间聚类。摄入时间提供了类似的查询好处分区策略基于datetime字段没有任何需要优化或调整您的数据。

请注意

维持摄入时间集群使用当您执行大量的修改更新合并语句在桌子上,砖建议运行优化ZORDER通过使用列相匹配的摄入。例如,这可能是一个列包含一个事件的时间戳或创建日期。

三角洲湖和拼花共享分区策略吗?

三角洲湖使用镶木地板作为主要的格式来存储数据,和一些三角洲表分区指定展示组织类似于拼花表存储与Apache火花。Apache火花时使用Hive-style分区以拼花格式保存数据。Hive-style分区是三角洲湖协议的一部分,和工作负载不应依赖于此分区策略与三角洲表。

许多三角洲湖功能打破假设数据布局可能已经从拼花,蜂巢,甚至更早的三角洲湖协议版本。你应该与数据存储在三角洲湖使用官方支持客户和api。

如何在其他数据不同分区湖泊三角洲湖分区?

而砖和三角洲湖建立开源技术像Apache火花,拼花,蜂巢,Hadoop,分区的动机和策bob下载地址略用于这些技术一般不适用于砖。如果你选择分区表,在选择策略时考虑以下事实:

  • 交易不定义分区边界。三角洲湖确保通过事务日志,所以你不需要单独的一批由一个分区的数据,以确保原子的发现。

  • 砖计算集群没有数据的位置与物理介质。数据摄取到lakehouse存储在云存储对象。虽然数据缓存到本地磁盘存储在数据处理过程中,砖使用基于文件的数据确定最少的数据并行加载。

z值和分区如何一起工作吗?

您可以使用z值索引分区来加快查询在大型数据集。

请注意

大多数表可以利用摄入时间聚类为了避免需要担心z值和分区调优。

记住以下规则是重要而计划查询优化策略基于分区的边界和z顺序:

  • z值与串联工作优化命令。你不能把文件跨分区边界,因此z值集群只能发生在一个分区。分区表,文件可以组合在整个表。

  • 分区只适用于低或已知的基数字段(例如,日期字段或物理位置),而不是与高基数,如时间戳字段。z值适用于所有领域,包括高基数字段和字段可能会无限的客户ID(例如,时间戳或事务或订单表)。

  • 你不能在字段用于z值分区。

如果分区是如此糟糕,为什么一些砖的特性使用它们?

分区可以是有益的,尤其是对于非常大的表。许多性能增强分区集中在非常大的表(几百字节或更大)。

许多客户从Parquet-based数据迁移到三角洲湖湖泊。的转换δ声明允许您将一个现有Parquet-based三角洲表不重写现有数据表。因此,许多客户都大表继承之前的分区策略。一些优化由砖寻求利用这些分区在可能的情况下,减轻一些潜在的负面影响为三角洲湖不分区策略优化。

三角洲湖和Apache引发开源技术。而砖继续介绍功能,减少依赖分区,开源社区可能会继续建立新的特性,增加了复杂性。bob下载地址

有可能比砖内置的优化与自定义分区?

Apache火花和三角洲湖的一些有经验的用户可以设计和实现一个模式,它提供了更好的性能摄入时间聚类。实现一个糟糕的分区策略可以有非常消极的影响下游的性能和可能需要一个完整的重写数据修复。砖建议大多数用户使用默认设置,以避免引入昂贵的低效率。