

Para obtener capacidades similares a las de Amazon Timestream, considere Amazon Timestream LiveAnalytics para InfluxDB. Ofrece una ingesta de datos simplificada y tiempos de respuesta a las consultas en milisegundos de un solo dígito para realizar análisis en tiempo real. Obtenga más información [aquí](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Mapeos de modelos de datos para carga por lotes
<a name="batch-load-data-model-mappings"></a>

A continuación, se analiza el esquema de los mapeos de modelos de datos y se proporciona un ejemplo.

## Esquema de mapeos de modelos de datos
<a name="batch-load-data-model-mappings-schema"></a>

La sintaxis de la solicitud `CreateBatchLoadTask` y un objeto `BatchLoadTaskDescription` que se devuelve por una llamada a `DescribeBatchLoadTask` incluye un objeto `DataModelConfiguration` con el `DataModel` para la carga por lotes. `DataModel`Define las asignaciones desde los datos de origen que se almacenan en formato CSV en una ubicación de S3 hasta un flujo temporal de destino para la base de datos y la tabla. LiveAnalytics 

El `TimeColumn` campo indica la ubicación de los datos de origen para el valor que se va a asignar a la columna de la tabla de destino en Timestream for. `time` LiveAnalytics La `TimeUnit` especifica la unidad de la `TimeColumn`, y puede expresarse en `MILLISECONDS`, `SECONDS`, `MICROSECONDS` o `NANOSECONDS`. También hay mapeos de dimensiones y medidas. Los mapeos de dimensiones se componen de columnas de origen y campos de destino. 

Para obtener más información, consulte [DimensionMapping](https://docs.aws.amazon.com/timestream/latest/developerguide/API_DimensionMapping). Los mapeos de las medidas tienen dos opciones: `MixedMeasureMappings` y `MultiMeasureMappings`.

En resumen, a `DataModel` contiene las asignaciones de una fuente de datos en una ubicación de S3 a una cadena temporal de destino para la tabla siguiente. LiveAnalytics 
+ Time
+ Dimensiones
+ Medidas

Si es posible, le recomendamos que asigne los datos de medición a registros de medidas múltiples en Timestream for. LiveAnalytics Para obtener más información sobre los beneficios de los registros de medidas múltiples, consulte [Registros de múltiples medidas](writes.md#writes.writing-data-multi-measure). 

Si se almacenan varias medidas de los datos de origen en una fila, puede mapearlas a registros de múltiples medidas de Timestream para su uso. LiveAnalytics `MultiMeasureMappings` Si hay valores que deben mapearse a un registro de medida única, puede usar `MixedMeasureMappings`. 

Tanto `MixedMeasureMappings` como `MultiMeasureMappings` incluyen `MultiMeasureAttributeMappings`. Se admiten registros de medidas múltiples independientemente de si se necesitan registros de medida única.

Si solo se necesitan registros objetivo de medidas múltiples en Timestream LiveAnalytics, puede definir las asignaciones de medidas en la siguiente estructura.

```
CreateBatchLoadTask
    MeasureNameColumn
    MultiMeasureMappings
        TargetMultiMeasureName
        MultiMeasureAttributeMappings array
```

**nota**  
Recomendamos usar `MultiMeasureMappings` siempre que sea posible.

Si se necesitan registros objetivo de una sola medida en Timestream LiveAnalytics, puede definir las asignaciones de medidas en la siguiente estructura.

```
CreateBatchLoadTask
    MeasureNameColumn
    MixedMeasureMappings array
        MixedMeasureMapping
            MeasureName
            MeasureValueType
            SourceColumn
            TargetMeasureName
            MultiMeasureAttributeMappings array
```

Cuando se usa `MultiMeasureMappings`, la matriz `MultiMeasureAttributeMappings` siempre es necesaria. Cuando se usa la matriz `MixedMeasureMappings`, si el `MeasureValueType` es `MULTI` para un `MixedMeasureMapping` dado, `MultiMeasureAttributeMappings` es necesario para dicho `MixedMeasureMapping`. De lo contrario, `MeasureValueType` indica el tipo de medida para el registro de medida única.

De cualquier forma, hay una matriz de `MultiMeasureAttributeMapping` disponible. Los mapeos a los registros de medidas múltiples en cada `MultiMeasureAttributeMapping` se definen de la siguiente manera:

`SourceColumn`  
La columna de los datos de origen que se encuentra en Amazon S3.

`TargetMultiMeasureAttributeName`  
El nombre de la medida múltiple de destino en la tabla de destino. Esta entrada es necesaria cuando no se proporciona `MeasureNameColumn`. Si se proporciona `MeasureNameColumn`, se usará el valor de esa columna como nombre de la medida múltiple.

`MeasureValueType`  
Puede ser uno de los siguientes: `DOUBLE`, `BIGINT`, `BOOLEAN`, `VARCHAR` o bien `TIMESTAMP`.

## Ejemplo de mapeos de modelos de datos con `MultiMeasureMappings`
<a name="batch-load-data-model-mappings-example-multi"></a>

En este ejemplo, se muestra el mapeo a registros de medidas múltiples, el enfoque preferido, que almacena cada valor de medida en una columna dedicada. Puede descargar un archivo CSV de muestra en [CSV de muestra](samples/batch-load-sample-file.csv.zip). El ejemplo tiene los siguientes encabezados para asignarlos a una columna de destino de una tabla Timestream for. LiveAnalytics 
+ `time`
+ `measure_name`
+ `region`
+ `location`
+ `hostname`
+ `memory_utilization`
+ `cpu_utilization`

Identifique las columnas `time` y `measure_name` en el archivo CSV. En este caso, se asignan directamente al Timestream para las columnas de la LiveAnalytics tabla con el mismo nombre.
+ `time` se mapea a `time`
+ `measure_name` se mapea a `measure_name` (o al valor que elija)

Al utilizar la API, se especifica `time` en el campo `TimeColumn` y un valor de unidad de tiempo compatible, como `MILLISECONDS`, en el campo `TimeUnit`. Estos corresponden al **Nombre de la columna de origen** y a la **Entrada de hora de la marca de tiempo** en la consola. Puede agrupar o particionar los registros según `measure_name`, que se define con la clave `MeasureNameColumn`.

En la muestra, `region`, `location` y `hostname` son dimensiones. Las dimensiones se mapean en una matriz de objetos `DimensionMapping`.

En el caso de las medidas, el valor se `TargetMultiMeasureAttributeName` convertirá en una columna en el flujo temporal de la tabla. LiveAnalytics Puede conservar el mismo nombre, como en este ejemplo. O bien, puede especificar uno nuevo. `MeasureValueType` es uno de los siguientes: `DOUBLE`, `BIGINT`, `BOOLEAN`, `VARCHAR` o `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/es_es/timestream/latest/developerguide/images/column-mapping.jpg)


## Ejemplo de mapeos de modelos de datos con `MixedMeasureMappings`
<a name="batch-load-data-model-mappings-example-mixed"></a>

Le recomendamos que utilice este enfoque solo cuando necesite mapear registros de una sola medida en Timestream para. LiveAnalytics