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 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 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.
-
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 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" } ] } }
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