Mapeos de modelos de datos para carga por lotes - Amazon Timestream

Para obtener capacidades similares a las de Amazon Timestream para LiveAnalytics, considere Amazon Timestream 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í.

Mapeos de modelos de datos para carga por lotes

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

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. El DataModel define los mapeos desde los datos de origen que se almacenan en formato CSV en una ubicación de S3 hasta una tabla y una base de datos de Timestream para LiveAnalytics de destino.

El campo TimeColumn indica la ubicación de los datos de origen para que el valor se mapee a la columna time de la tabla de destino en Timestream para 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. Los mapeos de las medidas tienen dos opciones: MixedMeasureMappings y MultiMeasureMappings.

En resumen, un DataModel contiene los mapeos de un origen de datos en una ubicación de S3 a una tabla de Timestream para LiveAnalytics de destino para lo siguiente.

  • Time

  • Dimensiones

  • Medidas

Si es posible, le recomendamos que mapee los datos de medición a registros de medidas múltiples en Timestream para LiveAnalytics. Para obtener más información sobre los beneficios de los registros de medidas múltiples, consulte Registros de múltiples medidas.

Si se almacenan varias medidas de los datos de origen en una fila, puede mapearlas a registros de medidas múltiples zen Timestream para LiveAnalytics mediante 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 de destino de medidas múltiples en Timestream para LiveAnalytics, puede definir los mapeos de medidas en la siguiente estructura.

CreateBatchLoadTask
    MeasureNameColumn
    MultiMeasureMappings
        TargetMultiMeasureName
        MultiMeasureAttributeMappings array
nota

Recomendamos usar MultiMeasureMappings siempre que sea posible.

Si se necesitan registros de destino de medida única en Timestream para LiveAnalytics, puede definir los mapeos 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

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. El ejemplo tiene los siguientes encabezados para mapearlos a una columna de destino de una tabla de Timestream para 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 mapean directamente a las columnas de la tabla Timestream para LiveAnalytics con los mismos nombres.

  • 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 TargetMultiMeasureAttributeName se convertirá en una columna de la tabla de Timestream para 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.

Ejemplo de mapeos de modelos de datos con MixedMeasureMappings

Le recomendamos que use este enfoque solo cuando necesite mapear registros de medida única en Timestream para LiveAnalytics.