批量加载的数据模型映射 - Amazon Timestream

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

批量加载的数据模型映射

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

数据模型映射架构

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

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

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

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

  • 时间

  • 尺寸

  • 度量

如果可能,我们建议您将测量数据映射到 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