

要获得与亚马逊 Timestream 类似的功能 LiveAnalytics，可以考虑适用于 InfluxDB 的亚马逊 Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间，以实现实时分析。点击[此处](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)了解更多信息。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用自定义复合分区键进行 LiveAnalytics 架构验证的时间流
<a name="customer-defined-partition-keys-schema-validation"></a>

Timestream 中的架构验证 LiveAnalytics 有助于确保输入到数据库中的数据符合指定的架构，从而最大限度地减少摄取错误并提高数据质量。特别是，当采用客户定义的分区键以优化查询性能时，架构验证尤为有用。

## 使用客户定义的分区 LiveAnalytics 键进行架构验证的时间流是什么？
<a name="customer-defined-partition-keys-schema-validation-what-is"></a>

用于 LiveAnalytics 架构验证的时间流是一项功能，它可以根据预定义的架构验证输入到 LiveAnalytics表的时间流中的数据。此架构定义数据模型，包括要插入记录的分区键、数据类型和约束条件。

使用客户定义的分区键时，架构验证就显得尤为重要。分区键允许您指定分区键，该分区键决定了您的数据在 Timestream 中的存储方式。 LiveAnalytics通过使用自定义分区键对照架构验证传入的数据，您可以强制执行数据一致性，尽早发现错误，并提高存储在 Timestream 中的数据的整体质量。 LiveAnalytics

## 如何使用 Timestream 通过自定义复合分区键进行 LiveAnalytics 架构验证
<a name="customer-defined-partition-keys-schema-validation-using"></a>

要使用 Timestream 对自定义复合分区键进行 LiveAnalytics 架构验证，请执行以下步骤：

**想一想你的查询模式会是什么样子：**要正确选择和定义 Timestream LiveAnalytics 表的架构，你应该从查询要求开始。

**指定自定义复合分区键：**创建表时，指定自定义分区键。此键决定用于对表数据进行分区的属性。可选择维度键或度量键以进行分区。维度键根据维度名称对数据进行分区，而度量键根据度量名称对数据进行分区。

**设置强制级别：**为了确保正确的数据分区以及随之而来的好处，Amazon Timestream for 允许您 LiveAnalytics 为架构中的每个分区键设置强制级别。强制级别决定摄取记录时分区键维度是必填还是可选。您可以选择两种选项：`REQUIRED`，表示分区键必须存在于摄取的记录中；以及 `OPTIONAL`，表示分区键不必存在。建议使用客户定义的分区时使用 `REQUIRED` 强制级别，以确保对数据进行正确分区，并充分利用此功能的优势。此外，可在架构创建后随时更改强制级别配置，以适应数据摄取要求。

**摄取数据：**将数据提取到 Timestream for LiveAnalytics 表时，架构验证过程将使用自定义复合分区键对照定义的架构检查记录。如果记录不符合架构，则 Timestream LiveAnalytics 将返回验证错误。

**处理验证错误：**如果出现验证错误，Timestream for LiveAnalytics 将返回 a `ValidationException` 或 a`RejectedRecordsException`，具体取决于错误的类型。请确保在应用程序中处理这些异常，并采取适当措施，例如修复错误记录并重新尝试数据摄取。

**更新强制级别：**如有必要，可在创建表后使用 `UpdateTable` 操作更新分区键的强制级别。然而，需要注意的是，分区键配置的某些方面（例如名称和类型）在表创建后无法更改。如果将强制级别从 `REQUIRED` 更改为 `OPTIONAL`，则所有记录都将被接受，无论所选的客户定义分区键属性是否存在。相反，如果将强制级别从 `OPTIONAL` 更改为 `REQUIRED`，则对于不符合此条件的记录，可能会出现 4xx 写入错误。因此，在创建表时，必须根据数据的分区要求为使用案例选择适当的强制级别。

## 何时使用 Timestream 对自定义复合分区键进行 LiveAnalytics 架构验证
<a name="customer-defined-partition-keys-schema-validation-when-to-use"></a>

在数据一致性、质量和优化分区至关重要的场景中，应使用使用自定义复合分区键进行 LiveAnalytics 架构验证的时间流。通过在数据摄取期间强制执行架构，可避免可能导致分析错误或丢失宝贵见解的错误与不一致性。

## 与批量加载作业的交互
<a name="customer-defined-partition-keys-schema-validation-when-to-use-batch-load"></a>

在设置批量加载作业以使用客户定义的分区键将数据导入表时，以下几种情况可能会影响该过程：

1. 如果强制级别设置为 `OPTIONAL`，则在创建流程期间，如果作业配置期间未映射分区键，控制台将显示警报。使用 API 或 CLI 时，不会出现此警报。

1. 如果强制级别设置为 `REQUIRED`，除非将分区键映射到源数据列，否则将拒绝创建作业。

1. 如果在创建作业后将强制级别更改为 `REQUIRED`，作业将继续执行，但任何未正确映射分区键的记录都将被拒绝并显示 4xx 错误。

## 与计划查询的交互
<a name="customer-defined-partition-keys-schema-validation-when-to-use-scheduled-query"></a>

在设置计划查询作业以计算聚合、汇总和其他形式的预处理数据，并将其存储到具有客户定义分区键的表时，以下几种情况可能影响该过程：

1. 如果强制级别设置为 `OPTIONAL`，则如果作业配置期间未映射分区键，控制台将显示警报。使用 API 或 CLI 时，不会出现此警报。

1. 如果强制级别设置为 `REQUIRED`，除非将分区键映射到源数据列，否则将拒绝创建作业。

1. 如果在作业创建后将强制级别更改为 `REQUIRED`，且计划查询结果不包含分区键维度，则该作业的所有后续迭代都将失败。