19.8. 分区方案

分区方案定义了数据在文件系统上的存储方式。该方案很重要,因为它决定了如何查询数据。在评估查询筛选器时,将利用分区方案来清理与筛选器不匹配的数据文件。提供了三种主要类型的划分方案:空间、时间和属性。

创建架构时必须提供分区方案。该方案由一个广为人知的名称和配置选项图定义。看见 配置分区方案 有关如何指定分区方案的详细信息,请参阅。

19.8.1. 综合方案

复合方案是其他方案的分层组合。组合方案的命名方式是将组成方案的名称连接起来,并用逗号分隔,例如 hourly,z2-2bits 。每个子方案的配置选项应合并为复合方案的单个配置。

19.8.2. 时间方案

时态方案基于Java来布局数据 DateTime format string ,由正斜杠分隔,用于构建目录结构。所有时态方案都支持以下常见配置选项:

  • dtg-attribute -名称为 Date -SimpleFeatureType中用于对数据进行分区的类型属性。如果未指定,则使用默认日期属性。

19.8.2.1. 日期-时间方案

Name: datetime

Configuration:

  • datetime-format - A Java DateTime format string ,由正斜杠分隔,将用于构建目录结构。例如, yyyy/MM/dd

  • step-unit -A java.time.temporal.ChronoUnit 定义如何增加分区方案的叶子

  • step - The amount to increment the leaf of the partition scheme. If not specified, defaults to 1

日期-时间方案提供了完全可定制的时间方案。

19.8.2.2. 小时计时制

Name: hourly

每小时方案使用布局按小时对数据进行分区 yyyy/MM/dd/HH

19.8.2.3. 会议记录计划

Name: minute

分钟方案使用布局按分钟对数据进行分区 yyyy/MM/dd/HH/mm

19.8.2.4. 日常计划

Name: daily

每日方案使用布局按天对数据进行分区 yyyy/MM/dd

19.8.2.5. 每周计划

Name: weekly

每周方案使用布局按周对数据进行分区 yyyy/ww

19.8.2.6. 按月计划

Name: monthly

月度方案使用布局按月划分数据 yyyy/MM

19.8.2.7. 朱利安方案

Names: julian-minutejulian-hourlyjulian-daily

Julian方案按Julian日而不是月/日对数据进行分区。他们使用这些图案 yyyy/DDD/HH/mmyyyy/DDD/HH ,以及 yyyy/DDD 分别

19.8.3. 空间方案

空间方案基于空间填充曲线来布局数据。所有空间方案都支持以下常见配置选项:

  • geom-attribute -名称为 Geometry -SimpleFeatureType中用于对数据进行分区的类型属性。如果未指定,则使用默认几何图形。

19.8.3.1. Z2方案

Name: z2

Configuration:

  • z2-resolution -用于z索引的精度位数。必须是2的倍数。

Z2方案使用Z2空间填充曲线,并且只能用于点类型几何图形。可以在名称中指定分辨率,而不是将分辨率指定为配置选项 z2-<n>bits ,在哪里 <n> 替换为Z2分辨率,例如 z2-2bits

19.8.3.2. XZ2方案

Name: xz2

Configuration:

  • xz2-resolution -用于z索引的精度位数。必须是2的倍数。

XZ2方案使用XZ2空间填充曲线,可以与任何几何图形类型一起使用。可以在名称中指定分辨率,而不是将分辨率指定为配置选项 xz2-<n>bits ,在哪里 <n> 被XZ2分辨率所取代,例如 xz2-2bits

19.8.4. 属性方案

属性方案基于词典编码的属性值来布局数据。

Name: attribute

Configuration:

  • partitioned-attribute -SimpleFeatureType中用于分区数据的属性的名称。