

如需與 Amazon Timestream for LiveAnalytics 類似的功能，請考慮使用 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間，以進行即時分析。[在這裡](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)進一步了解。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 批次載入的資料模型映射
<a name="batch-load-data-model-mappings"></a>

以下討論資料模型映射的結構描述，並提供 和 範例。

## 資料模型映射結構描述
<a name="batch-load-data-model-mappings-schema"></a>

`CreateBatchLoadTask` 請求語法和呼叫傳回的`BatchLoadTaskDescription`物件，以`DescribeBatchLoadTask`包含包含`DataModel`用於批次載入的 `DataModelConfiguration` 物件。`DataModel` 定義從以 CSV 格式存放在 S3 位置的來源資料映射到 LiveAnalytics 資料庫和資料表的目標 Timestream。

`TimeColumn` 欄位指出要映射至 Timestream for LiveAnalytics 中目的地資料表資料`time`欄的來源資料位置。`TimeUnit` 指定 的單位`TimeColumn`，並且可以是 `MILLISECONDS`、`MICROSECONDS`、 `SECONDS`或 之一`NANOSECONDS`。還有維度和量值的映射。維度映射由來源資料欄和目標欄位組成。

如需詳細資訊，請參閱 [DimensionMapping](https://docs.aws.amazon.com/timestream/latest/developerguide/API_DimensionMapping)。量值的映射有兩個選項： `MixedMeasureMappings`和 `MultiMeasureMappings`。

總而言之， `DataModel`包含下列項目從 S3 位置的資料來源映射至目標 Timestream for LiveAnalytics 資料表。
+ 時間
+ 維度
+ 量值

如果可能，我們建議您將測量資料映射到 Timestream for LiveAnalytics 中的多測量記錄。如需多度量記錄優點的資訊，請參閱 [多度量記錄](writes.md#writes.writing-data-multi-measure)。

如果來源資料中的多個量值存放在一個資料列中，您可以使用 將這些多個量值映射到 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`、 `BIGINT` `BOOLEAN`或 之一`TIMESTAMP`。

## 具有`MultiMeasureMappings`範例的資料模型映射
<a name="batch-load-data-model-mappings-example-multi"></a>

此範例示範對應至多度量記錄，這是偏好的方法，可將每個度量值存放在專用欄中。您可以在範例 CSV 下載[範例 CSV](samples/batch-load-sample-file.csv.zip)。此範例具有下列標題，可映射至 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"
      }
    ]
  }
}
```

![\[Visual builder interface showing column mappings for timestream data attributes and types.\]](http://docs.aws.amazon.com/zh_tw/timestream/latest/developerguide/images/column-mapping.jpg)


## 具有`MixedMeasureMappings`範例的資料模型映射
<a name="batch-load-data-model-mappings-example-mixed"></a>

我們建議您只在需要映射至 Timestream for LiveAnalytics 中的單一測量記錄時，才使用此方法。