批量加载的数据模型映射 - Amazon Timestream
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

从2025年6月20日起,亚马逊Timestream版 LiveAnalytics 将不再向新客户开放。如果您想使用亚马逊 Timestream LiveAnalytics,请在该日期之前注册。现有客户可以继续照常使用该服务。有关更多信息,请参阅 Amazon Timestream 以了解 LiveAnalytics 可用性变更。

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

批量加载的数据模型映射

以下内容讨论了数据模型映射的架构,并给出了示例。

数据模型映射架构

CreateBatchLoadTask请求语法和调用返回的BatchLoadTaskDescription对象,该DataModelConfiguration对象DescribeBatchLoadTask包含DataModel用于批量加载的对象。DataModel定义了从以 CSV 格式存储在 S3 位置的源数据到 LiveAnalytics 数据库和表的目标时间流的映射。

TimeColumn字段表示要映射到 Timestream 中目标表time列的值的 LiveAnalytics源数据的位置。TimeUnit指定了的单位TimeColumn,并且可以是MILLISECONDSSECONDSMICROSECONDS、或之一NANOSECONDS。还有维度和度量的映射。维度映射由源列和目标字段组成。

有关更多信息,请参阅 DimensionMapping。度量的映射有两个选项,MixedMeasureMappings和。MultiMeasureMappings

总而言之,a DataModel 包含从 S3 位置的数据源到以下 LiveAnalytics 表的目标时间流的映射。

  • Time

  • Dimensions

  • 度量

如果可能,我们建议您将测量数据映射到 Timestream 中的多度量记录中。 LiveAnalytics有关多度量记录的好处的信息,请参见多重测量记录

如果源数据中的多个度量存储在一行中,则可以将这些多个度量映射到 Timestream 中的多度量记录以供使用 LiveAnalytics 。MultiMeasureMappings如果存在必须映射到单度量记录的值,则可以使用MixedMeasureMappings

MixedMeasureMappingsMultiMeasureMappings两者都包括MultiMeasureAttributeMappings。无论是否需要单度量记录,都支持多度量记录。

如果 Timestream 中只需要多度量目标记录 LiveAnalytics,则可以在以下结构中定义度量映射。

CreateBatchLoadTask
    MeasureNameColumn
    MultiMeasureMappings
        TargetMultiMeasureName
        MultiMeasureAttributeMappings array
注意

我们建议MultiMeasureMappings尽可能使用。

如果 Timestream 中需要单度量目标记录 LiveAnalytics,则可以在以下结构中定义度量映射。

CreateBatchLoadTask
    MeasureNameColumn
    MixedMeasureMappings array
        MixedMeasureMapping
            MeasureName
            MeasureValueType
            SourceColumn
            TargetMeasureName
            MultiMeasureAttributeMappings array

使用时MultiMeasureMappingsMultiMeasureAttributeMappings数组始终是必需的。当你使用MixedMeasureMappings数组时,如果MeasureValueType是给MULTI定的MixedMeasureMapping,则MultiMeasureAttributeMappings是必需的MixedMeasureMapping。否则,MeasureValueType表示单项测量记录的度量类型。

无论哪种方式,都有一系列MultiMeasureAttributeMapping可用。您可以MultiMeasureAttributeMapping按如下方式定义每条中多度量记录的映射:

SourceColumn

源数据中位于 Amazon S3 中的列。

TargetMultiMeasureAttributeName

目标表中目标多指标名称的名称。如果未提供此输入MeasureNameColumn,则需要此输入。如果提供,MeasureNameColumn则该列中的值将用作多度量名称。

MeasureValueType

DOUBLEBIGINTBOOLEANVARCHAR、或之一TIMESTAMP

数据模型映射与示例 MultiMeasureMappings

此示例演示了映射到多度量记录的首选方法,它将每个度量值存储在专用列中。您可以在示例 CSV 中下载示例 CSV。该示例具有以下标题,可映射到表的 Timestream 中的目标列。 LiveAnalytics

  • time

  • measure_name

  • region

  • location

  • hostname

  • memory_utilization

  • cpu_utilization

识别 CSV 文件中的timemeasure_name列。在这种情况下,它们直接映射到同名 LiveAnalytics 表列的时间流。

  • time映射到 time

  • measure_name映射到measure_name(或您选择的值)

使用 API 时,您可以在TimeColumn字段time中指定支持的时间单位值,例如MILLISECONDSTimeUnit字段中。它们对应于控制台中输入的源列名称和时间戳时间。您可以使用MeasureNameColumn密钥定义measure_name的记录分组或分区。

在样本中regionlocation、和hostname是维度。维度映射到一个DimensionMapping对象数组中。

对于度量,该值TargetMultiMeasureAttributeName将变为 “时间流” LiveAnalytics 表中的一列。您可以保留相同的名称,如本例所示。或者你可以指定一个新的。 MeasureValueType是、DOUBLEBIGINTBOOLEANVARCHAR、或之一TIMESTAMP

{ "TimeColumn": "time", "TimeUnit": "MILLISECONDS", "DimensionMappings": [ { "SourceColumn": "region", "DestinationColumn": "region" }, { "SourceColumn": "location", "DestinationColumn": "location" }, { "SourceColumn": "hostname", "DestinationColumn": "hostname" } ], "MeasureNameColumn": "measure_name", "MultiMeasureMappings": { "MultiMeasureAttributeMappings": [ { "SourceColumn": "memory_utilization", "TargetMultiMeasureAttributeName": "memory_utilization", "MeasureValueType": "DOUBLE" }, { "SourceColumn": "cpu_utilization", "TargetMultiMeasureAttributeName": "cpu_utilization", "MeasureValueType": "DOUBLE" } ] } }
Visual builder interface showing column mappings for timestream data attributes and types.

数据模型映射与示例 MixedMeasureMappings

我们建议您仅在需要映射到 Timestream 中的单度记录时才使用此方法。 LiveAnalytics