

Amazon Timestream for LiveAnalytics に類似した機能をご希望の場合は Amazon Timestream for InfluxDB をご検討ください。リアルタイム分析に適した、シンプルなデータインジェストと 1 桁ミリ秒のクエリ応答時間を特徴としています。詳細については、[こちら](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>

`DescribeBatchLoadTask` への呼び出しによって返される `CreateBatchLoadTask` リクエスト構文と `BatchLoadTaskDescription` オブジェクトには、バッチロード用の `DataModel` を含む `DataModelConfiguration` オブジェクトが含まれます。`DataModel` は、S3 ロケーションに CSV 形式で保存されているソースデータからターゲットの Timestream for LiveAnalytics データベースとテーブルへのマッピングを定義します。

`TimeColumn` フィールドは、Timestream for LiveAnalytics の送信先テーブルの `time` 列にマッピングされる値のソースデータの場所を示します。`TimeUnit` は `TimeColumn` の単位を指定し、`MILLISECONDS`、`SECONDS`、`MICROSECONDS`、`NANOSECONDS` のいずれかを指定できます。ディメンションとメジャーのマッピングもあります。ディメンションマッピングは、ソース列とターゲットフィールドで構成されます。

詳細については、「[DimensionMapping](https://docs.aws.amazon.com/timestream/latest/developerguide/API_DimensionMapping)」を参照してください。メジャーのマッピングには、`MixedMeasureMappings` と `MultiMeasureMappings` の 2 つのオプションがあります。

要約すると、`DataModel` には、S3 ロケーションにあるデータソースからターゲットの Timestream for LiveAnalytics テーブルへのマッピングが含まれます。
+ Time
+ ディメンション
+ メジャー

可能であれば、メジャーデータを Timestream for LiveAnalytics のマルチメジャーレコードにマッピングすることをお勧めします。マルチメジャーレコードの利点については、「[マルチメジャーレコード](writes.md#writes.writing-data-multi-measure)」を参照してください。

ソースデータの複数のメジャーが単一の行に保存されている場合は、`MultiMeasureMappings` を使用して、これらの複数のメジャーを Timestream for LiveAnalytics のマルチメジャーレコードにマッピングできます。単一メジャーレコードへのマッピングが必要な値がある場合は、`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` が特定の `MixedMeasureMapping` の `MULTI` である場合、その `MixedMeasureMapping` には `MultiMeasureAttributeMappings` が必要です。それ以外の場合、`MeasureValueType` は単一メジャーレコードのメジャータイプを示します。

いずれの場合も、`MultiMeasureAttributeMapping` の配列を使用できます。各 `MultiMeasureAttributeMapping` のマルチメジャーレコードへのマッピングは、次のように定義します。

`SourceColumn`  
Amazon S3 にあるソースデータの列。

`TargetMultiMeasureAttributeName`  
送信先テーブル内のターゲットマルチメジャーの名前。この入力は、`MeasureNameColumn` が指定されていない場合に必須です。`MeasureNameColumn` が指定されている場合、その列の値がマルチメジャー名として使用されます。

`MeasureValueType`  
`DOUBLE`、`BIGINT`、`BOOLEAN`、`VARCHAR`、`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`、`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"
      }
    ]
  }
}
```

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


## `MixedMeasureMappings` の例を使用したデータモデルマッピング
<a name="batch-load-data-model-mappings-example-mixed"></a>

このアプローチは、Timestream for LiveAnalytics の単一メジャーレコードにマッピングする必要がある場合にのみ使用することをお勧めします。