本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
批量加载的数据模型映射
以下内容讨论了数据模型映射的架构,并给出了示例。
数据模型映射架构
CreateBatchLoadTask
请求语法和调用返回的BatchLoadTaskDescription
对象,该DataModelConfiguration
对象DescribeBatchLoadTask
包含DataModel
用于批量加载的对象。DataModel
定义了从以 S3 位置CSV格式存储的源数据到 LiveAnalytics 数据库和表的目标 Timestream 的映射。
该TimeColumn
字段表示要映射到 Timestream 中目标表time
列的值的 LiveAnalytics源数据的位置。TimeUnit
指定了的单位TimeColumn
,并且可以是MILLISECONDS
、SECONDS
MICROSECONDS
、或中的一个NANOSECONDS
。还有维度和度量的映射。维度映射由源列和目标字段组成。
有关更多信息,请参阅DimensionMapping。度量的映射有两个选项,MixedMeasureMappings
和。MultiMeasureMappings
总而言之,a DataModel
包含从 S3 位置的数据源到以下 LiveAnalytics 表的目标时间流的映射。
-
时间
-
尺寸
-
度量
如果可能,我们建议您将测量数据映射到 Timestream 中的多度量记录中。 LiveAnalytics有关多度量记录的好处的信息,请参见多重测量记录。
如果源数据中的多个度量存储在一行中,则可以将这些多个度量映射到 Timestream 中的多度量记录以供使用 LiveAnalytics 。MultiMeasureMappings
如果存在必须映射到单度量记录的值,则可以使用MixedMeasureMappings
。
MixedMeasureMappings
MultiMeasureMappings
两者都包括MultiMeasureAttributeMappings
。无论是否需要单度量记录,都支持多度量记录。
如果 Timestream 中只需要多度量目标记录 LiveAnalytics,则可以在以下结构中定义度量映射。
CreateBatchLoadTask MeasureNameColumn MultiMeasureMappings TargetMultiMeasureName MultiMeasureAttributeMappings array
注意
我们建议MultiMeasureMappings
尽可能使用。
如果 Timestream 中需要单度量目标记录 LiveAnalytics,则可以在以下结构中定义度量映射。
CreateBatchLoadTask MeasureNameColumn MixedMeasureMappings array MixedMeasureMapping MeasureName MeasureValueType SourceColumn TargetMeasureName MultiMeasureAttributeMappings array
使用时MultiMeasureMappings
,MultiMeasureAttributeMappings
数组始终是必需的。当你使用MixedMeasureMappings
数组时,如果MeasureValueType
是给MULTI
定的MixedMeasureMapping
,则MultiMeasureAttributeMappings
是必需的MixedMeasureMapping
。否则,MeasureValueType
表示单项测量记录的度量类型。
无论哪种方式,都有一系列MultiMeasureAttributeMapping
可用。您可以MultiMeasureAttributeMapping
按如下方式定义每条中多度量记录的映射:
SourceColumn
-
源数据中位于 Amazon S3 中的列。
TargetMultiMeasureAttributeName
-
目标表中目标多指标名称的名称。如果未提供此输入
MeasureNameColumn
,则需要此输入。如果提供,MeasureNameColumn
则该列中的值将用作多度量名称。 MeasureValueType
-
、
DOUBLE
BIGINT
BOOLEAN
VARCHAR
、或之一TIMESTAMP
。
数据模型映射与示例 MultiMeasureMappings
此示例演示了映射到多度量记录的首选方法,它将每个度量值存储在专用列中。你可以在样本CSV处下载样本CSV。该示例具有以下标题,可映射到表的 Timestream 中的目标列。 LiveAnalytics
-
time
-
measure_name
-
region
-
location
-
hostname
-
memory_utilization
-
cpu_utilization
识别CSV文件中的time
和measure_name
列。在这种情况下,它们直接映射到同名 LiveAnalytics 表列的时间流。
-
time
映射到time
-
measure_name
映射到measure_name
(或您选择的值)
使用时API,可以在TimeColumn
字段time
中指定支持的时间单位值,例如MILLISECONDS
在TimeUnit
字段中。它们对应于控制台中输入的源列名称和时间戳时间。您可以使用MeasureNameColumn
密钥定义measure_name
的记录分组或分区。
在样本中region
,location
、和hostname
是维度。维度映射到一个DimensionMapping
对象数组中。
对于度量,该值TargetMultiMeasureAttributeName
将变为 “时间流” LiveAnalytics 表中的一列。您可以保留相同的名称,如本例所示。或者你可以指定一个新的。 MeasureValueType
是、DOUBLE
、BIGINT
BOOLEAN
VARCHAR
、或之一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" } ] } }
数据模型映射与示例 MixedMeasureMappings
我们建议您仅在需要映射到 Timestream 中的单度记录时才使用此方法。 LiveAnalytics