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
-Ajava.time.temporal.ChronoUnit
定义如何增加分区方案的叶子step
- The amount to increment the leaf of the partition scheme. If not specified, defaults to1
日期-时间方案提供了完全可定制的时间方案。
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-minute
, julian-hourly
, julian-daily
Julian方案按Julian日而不是月/日对数据进行分区。他们使用这些图案 yyyy/DDD/HH/mm
, yyyy/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中用于分区数据的属性的名称。