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.
Uso de la carga por lotes con AWS CLI
Configuración
Para empezar a usar la carga por lotes, realice los siguientes pasos:
-
Instálelo AWS CLI siguiendo las instrucciones que aparecen enAcceso a Amazon Timestream LiveAnalytics para usar el AWS CLI.
-
Ejecute el siguiente comando para verificar que se hayan actualizado los comandos de la CLI de Timestream. Compruebe que create-batch-load-task está en la lista.
aws timestream-write help -
Prepare un origen de datos según las instrucciones en Preparación de un archivo de datos de carga por lotes.
-
Cree una base de datos y una tabla según las instrucciones de Acceso a Amazon Timestream LiveAnalytics para usar el AWS CLI.
-
Cree un bucket de S3 para la salida de informes. El bucket debe estar en la misma región. Para obtener más información sobre buckets, consulte Creación, configuración y uso de buckets de Amazon S3.
-
Cree una tarea de carga de lotes. Para ver los pasos, consulte Creación de una tarea de carga de lotes.
-
Confirme el estado de la tarea. Para ver los pasos, consulte Descripción de la tarea de carga por lotes.
Creación de una tarea de carga de lotes
Puede crear una tarea de carga por lotes con el comando create-batch-load-task. Al crear una tarea de carga por lotes mediante la CLI, puede usar un parámetro JSON, cli-input-json, que le permite agregar los parámetros en un único fragmento de JSON. También puede separar esos detalles mediante otros varios parámetros, como data-model-configuration, data-source-configuration, report-configuration, target-database-name y target-table-name.
Para ver un ejemplo, consulte Ejemplo de creación de una tarea de carga por lotes.
Descripción de la tarea de carga por lotes
Puede recuperar la descripción de una tarea de carga por lotes de la siguiente manera.
aws timestream-write describe-batch-load-task --task-id<value>
A continuación, se muestra un ejemplo de respuesta.
{ "BatchLoadTaskDescription": { "TaskId": "<TaskId>", "DataSourceConfiguration": { "DataSourceS3Configuration": { "BucketName": "test-batch-load-west-2", "ObjectKeyPrefix": "sample.csv" }, "CsvConfiguration": {}, "DataFormat": "CSV" }, "ProgressReport": { "RecordsProcessed": 2, "RecordsIngested": 0, "FileParseFailures": 0, "RecordIngestionFailures": 2, "FileFailures": 0, "BytesIngested": 119 }, "ReportConfiguration": { "ReportS3Configuration": { "BucketName": "test-batch-load-west-2", "ObjectKeyPrefix": "<ObjectKeyPrefix>", "EncryptionOption": "SSE_S3" } }, "DataModelConfiguration": { "DataModel": { "TimeColumn": "timestamp", "TimeUnit": "SECONDS", "DimensionMappings": [ { "SourceColumn": "vehicle", "DestinationColumn": "vehicle" }, { "SourceColumn": "registration", "DestinationColumn": "license" } ], "MultiMeasureMappings": { "TargetMultiMeasureName": "test", "MultiMeasureAttributeMappings": [ { "SourceColumn": "wgt", "TargetMultiMeasureAttributeName": "weight", "MeasureValueType": "DOUBLE" }, { "SourceColumn": "spd", "TargetMultiMeasureAttributeName": "speed", "MeasureValueType": "DOUBLE" }, { "SourceColumn": "fuel", "TargetMultiMeasureAttributeName": "fuel", "MeasureValueType": "DOUBLE" }, { "SourceColumn": "miles", "TargetMultiMeasureAttributeName": "miles", "MeasureValueType": "DOUBLE" } ] } } }, "TargetDatabaseName": "BatchLoadExampleDatabase", "TargetTableName": "BatchLoadExampleTable", "TaskStatus": "FAILED", "RecordVersion": 1, "CreationTime": 1677167593.266, "LastUpdatedTime": 1677167602.38 } }
Enumeración de tareas de carga por lotes
Puede enumerar las tareas de carga por lotes de la siguiente manera.
aws timestream-write list-batch-load-tasks
Aparece una salida como se muestra a continuación.
{ "BatchLoadTasks": [ { "TaskId": "<TaskId>", "TaskStatus": "FAILED", "DatabaseName": "BatchLoadExampleDatabase", "TableName": "BatchLoadExampleTable", "CreationTime": 1677167593.266, "LastUpdatedTime": 1677167602.38 } ] }
Reanudación de la tarea de carga por lotes
Puede reanudar una tarea de carga por lotes de la siguiente manera.
aws timestream-write resume-batch-load-task --task-id<value>
Una respuesta puede indicar que se ha realizado correctamente o contener información sobre un error.
Ejemplo de creación de una tarea de carga por lotes
-
Cree un flujo temporal para la LiveAnalytics base de datos denominada
BatchLoady una tabla denominada.BatchLoadTestCompruebe y, si es necesario, ajuste los valores deMemoryStoreRetentionPeriodInHoursyMagneticStoreRetentionPeriodInDays.aws timestream-write create-database --database-name BatchLoad \ aws timestream-write create-table --database-name BatchLoad \ --table-name BatchLoadTest \ --retention-properties "{\"MemoryStoreRetentionPeriodInHours\": 12, \"MagneticStoreRetentionPeriodInDays\": 100}" -
Con la consola, cree un bucket de S3 y copie el archivo
sample.csven esa ubicación. Puede descargar un archivo CSV de muestra en CSV de muestra. -
Con la consola, cree un depósito de S3 para que Timestream escriba un informe si la tarea de carga por lotes finaliza con errores. LiveAnalytics
-
Cree una tarea de carga de lotes. Asegúrese de reemplazar
$INPUT_BUCKETy por$REPORT_BUCKETlos depósitos que creó en los pasos anteriores.aws timestream-write create-batch-load-task \ --data-model-configuration "{\ \"DataModel\": {\ \"TimeColumn\": \"timestamp\",\ \"TimeUnit\": \"SECONDS\",\ \"DimensionMappings\": [\ {\ \"SourceColumn\": \"vehicle\"\ },\ {\ \"SourceColumn\": \"registration\",\ \"DestinationColumn\": \"license\"\ }\ ], \"MultiMeasureMappings\": {\ \"TargetMultiMeasureName\": \"mva_measure_name\",\ \"MultiMeasureAttributeMappings\": [\ {\ \"SourceColumn\": \"wgt\",\ \"TargetMultiMeasureAttributeName\": \"weight\",\ \"MeasureValueType\": \"DOUBLE\"\ },\ {\ \"SourceColumn\": \"spd\",\ \"TargetMultiMeasureAttributeName\": \"speed\",\ \"MeasureValueType\": \"DOUBLE\"\ },\ {\ \"SourceColumn\": \"fuel_consumption\",\ \"TargetMultiMeasureAttributeName\": \"fuel\",\ \"MeasureValueType\": \"DOUBLE\"\ },\ {\ \"SourceColumn\": \"miles\",\ \"MeasureValueType\": \"BIGINT\"\ }\ ]\ }\ }\ }" \ --data-source-configuration "{ \"DataSourceS3Configuration\": {\ \"BucketName\": \"$INPUT_BUCKET\",\ \"ObjectKeyPrefix\": \"$INPUT_OBJECT_KEY_PREFIX\" },\ \"DataFormat\": \"CSV\"\ }" \ --report-configuration "{\ \"ReportS3Configuration\": {\ \"BucketName\": \"$REPORT_BUCKET\",\ \"EncryptionOption\": \"SSE_S3\"\ }\ }" \ --target-database-name BatchLoad \ --target-table-name BatchLoadTestEl comando anterior devuelve la siguiente salida:
{ "TaskId": "TaskId" } -
Compruebe el progreso de la tarea. Asegúrese de sustituirlo por
$TASK_IDel identificador de tarea que se devolvió en el paso anterior.aws timestream-write describe-batch-load-task --task-id$TASK_ID
Ejemplo de resultado de
{ "BatchLoadTaskDescription": { "ProgressReport": { "BytesIngested": 1024, "RecordsIngested": 2, "FileFailures": 0, "RecordIngestionFailures": 0, "RecordsProcessed": 2, "FileParseFailures": 0 }, "DataModelConfiguration": { "DataModel": { "DimensionMappings": [ { "SourceColumn": "vehicle", "DestinationColumn": "vehicle" }, { "SourceColumn": "registration", "DestinationColumn": "license" } ], "TimeUnit": "SECONDS", "TimeColumn": "timestamp", "MultiMeasureMappings": { "MultiMeasureAttributeMappings": [ { "TargetMultiMeasureAttributeName": "weight", "SourceColumn": "wgt", "MeasureValueType": "DOUBLE" }, { "TargetMultiMeasureAttributeName": "speed", "SourceColumn": "spd", "MeasureValueType": "DOUBLE" }, { "TargetMultiMeasureAttributeName": "fuel", "SourceColumn": "fuel_consumption", "MeasureValueType": "DOUBLE" }, { "TargetMultiMeasureAttributeName": "miles", "SourceColumn": "miles", "MeasureValueType": "DOUBLE" } ], "TargetMultiMeasureName": "mva_measure_name" } } }, "TargetDatabaseName": "BatchLoad", "CreationTime": 1672960381.735, "TaskStatus": "SUCCEEDED", "RecordVersion": 1, "TaskId": "TaskId", "TargetTableName": "BatchLoadTest", "ReportConfiguration": { "ReportS3Configuration": { "EncryptionOption": "SSE_S3", "ObjectKeyPrefix": "ObjectKeyPrefix", "BucketName": "amzn-s3-demo-bucket" } }, "DataSourceConfiguration": { "DataSourceS3Configuration": { "ObjectKeyPrefix": "sample.csv", "BucketName": "amzn-s3-demo-source-bucket" }, "DataFormat": "CSV", "CsvConfiguration": {} }, "LastUpdatedTime": 1672960387.334 } }