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 proporcionaMeasureNameColumn, se usará el valor de esa columna como nombre de la medida múltiple. MeasureValueType-
Puede ser uno de los siguientes:
DOUBLE,BIGINT,BOOLEAN,VARCHARo bienTIMESTAMP.
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.
-
timese mapea atime -
measure_namese mapea ameasure_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" } ] } }
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.