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

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í.

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 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. DataModelDefine 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. 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.

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

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 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.

Ejemplo de mapeos de modelos de datos con MixedMeasureMappings

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