如需類似 Amazon Timestream for LiveAnalytics 的功能,請考慮 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間,以進行即時分析。在這裡進一步了解。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
批次載入的資料模型映射
以下討論資料模型映射的結構描述,並提供 和 範例。
資料模型映射結構描述
CreateBatchLoadTask 請求語法和呼叫傳回的BatchLoadTaskDescription物件,以DescribeBatchLoadTask包含包含DataModel用於批次載入的 DataModelConfiguration 物件。DataModel 定義從以 CSV 格式存放在 S3 位置的來源資料映射到 LiveAnalytics 資料庫和資料表的目標 Timestream。
TimeColumn 欄位指出要映射至 Timestream for LiveAnalytics 中目的地資料表資料time欄的來源資料位置。TimeUnit 指定 的單位TimeColumn,並且可以是 MILLISECONDS、MICROSECONDS、 SECONDS或 之一NANOSECONDS。維度和量值也有映射。維度映射由來源資料欄和目標欄位組成。
如需詳細資訊,請參閱 DimensionMapping。量值的映射有兩個選項: MixedMeasureMappings和 MultiMeasureMappings。
總而言之, DataModel包含下列項目從 S3 位置的資料來源映射至目標 Timestream for LiveAnalytics 資料表。
-
時間
-
維度
-
量值
如果可能,我們建議您將測量資料映射到 Timestream for LiveAnalytics 中的多測量記錄。如需多度量記錄優點的資訊,請參閱 多度量記錄。
如果來源資料中的多個量值存放在一個資料列中,您可以使用 將這些多個量值映射到 Timestream for LiveAnalytics 中的多量值記錄MultiMeasureMappings。如果有必須映射至單一度量記錄的值,您可以使用 MixedMeasureMappings。
MixedMeasureMappings 和 MultiMeasureMappings都包含 MultiMeasureAttributeMappings。無論是否需要單一度量記錄,都支援多度量記錄。
如果在 Timestream for LiveAnalytics 中只需要多度量目標記錄,您可以在下列結構中定義度量映射。
CreateBatchLoadTask
MeasureNameColumn
MultiMeasureMappings
TargetMultiMeasureName
MultiMeasureAttributeMappings array
注意
我們建議您MultiMeasureMappings盡可能使用 。
如果在 Timestream for 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、VARCHAR、BIGINTBOOLEAN或 之一TIMESTAMP。
具有MultiMeasureMappings範例的資料模型映射
此範例示範映射到多度量記錄,這是偏好的方法,可將每個度量值存放在專用欄中。您可以在範例 CSV 下載範例 CSV。範例具有下列標題,可映射至 Timestream for LiveAnalytics 資料表中的目標欄。
-
time -
measure_name -
region -
location -
hostname -
memory_utilization -
cpu_utilization
識別 CSV 檔案中的 time和 measure_name資料欄。在此情況下,這些會直接對應至相同名稱的 Timestream for LiveAnalytics 資料表資料欄。
-
time映射至time -
measure_name映射至measure_name(或您選擇的值)
使用 API 時,您可以在 TimeColumn time欄位中指定 ,並在 TimeUnit MILLISECONDS欄位中指定支援的時間單位值,例如 。這些對應至 主控台中的來源資料欄名稱和時間戳記時間輸入。您可以使用 以 MeasureNameColumn金鑰measure_name定義的 來分組或分割記錄。
在範例中,region、 location和 hostname是維度。維度映射在 DimensionMapping 物件陣列中。
對於量值,該值TargetMultiMeasureAttributeName將成為 Timestream for LiveAnalytics 資料表中的資料欄。您可以保留相同的名稱,例如在此範例中。或者,您可以指定新的 。 MeasureValueType是 DOUBLE、BIGINT、VARCHAR、 BOOLEAN或 之一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 for LiveAnalytics 中的單一測量記錄時,才使用此方法。