

Amazon Timestream for LiveAnalytics와 유사한 기능을 원하는 경우 Amazon Timestream for InfluxDB를 고려해 보세요. 간소화된 데이터 수집과 실시간 분석을 위한 10밀리초 미만의 쿼리 응답 시간을 제공합니다. [여기](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>

배치 로드를 위한 `DataModel`를 포함하는 `DataModelConfiguration` 객체를 포함하기 위해 `DescribeBatchLoadTask` 직접 호출에 의해 반환되는 `CreateBatchLoadTask` 요청 구문 및 `BatchLoadTaskDescription` 객체입니다. `DataModel`은 S3 위치에 CSV 형식으로 저장된 소스 데이터에서 LiveAnalytics 데이터베이스 및 테이블용 대상 Timestream으로의 매핑을 정의합니다.

`TimeColumn` 필드는 Timestream for LiveAnalytics의 대상 테이블의 `time` 열에 매핑될 값의 소스 데이터 위치를 나타냅니다. `TimeUnit`은 `TimeColumn`의 단위를 지정하며 `MILLISECONDS`, `SECONDS`, `MICROSECONDS` 또는 `NANOSECONDS` 중 하나일 수 있습니다. 차원 및 측정에 대한 매핑도 있습니다. 차원 매핑은 소스 열과 대상 필드로 구성됩니다.

자세한 내용은 [DimensionMapping](https://docs.aws.amazon.com/timestream/latest/developerguide/API_DimensionMapping)을 참조하세요. 측정값에 대한 매핑에는 `MixedMeasureMappings` 및 `MultiMeasureMappings`라는 두 가지 옵션이 있습니다.

요약하자면, `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` 배열을 사용할 때, 특정 `MixedMeasureMapping`에 대해 `MeasureValueType`이 `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/ko_kr/timestream/latest/developerguide/images/column-mapping.jpg)


## `MixedMeasureMappings` 예제를 사용한 데이터 모델 매핑
<a name="batch-load-data-model-mappings-example-mixed"></a>

Timestream for LiveAnalytics에서 단일 측정 레코드에 매핑해야 하는 경우에만 이 접근 방식을 사용하는 것이 좋습니다.