Script de validación de la migración - 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.

Script de validación de la migración

El script de validación compara los row/point recuentos lógicos entre una tabla fuente (Amazon Timestream o Amazon Athena) y una medición de un bucket de InfluxDB, con especificaciones de rango de tiempo opcionales. Esta herramienta ayuda a garantizar la integridad de los datos durante los procesos de migración mediante la ejecución de consultas paralelas en ambos sistemas y la comparación de los resultados.

El script de validación admite consultas en el conjunto de datos que se exporta en Athena o en la base de datos o tabla de Timestream original. Tenga en cuenta que consultar Timestream directamente puede provocar comparaciones inexactas si los datos se han escrito desde la exportación. El script de validación se puede ejecutar en cualquier momento después de que se haya iniciado la ingesta. Primero, sondea el punto de conexión de métricas de InfluxDB para esperar a que el WAL (registro de escritura anticipada) se vacíe por completo, lo que garantiza que todo el procesamiento de datos haya finalizado. Esto incluye la fusión y deduplicación de archivos posteriores a la ingesta. A continuación, el script ejecuta consultas de solo recuento en intervalos de tiempo idénticos y compara los resultados para resaltar las coincidencias o las discrepancias. Admite el schema/tag filtrado opcional para los esquemas transformados en los que las dimensiones se utilizan como campos, y produce resúmenes de tiempos y resultados legibles para las personas para facilitar la validación del proceso de migración.

Requisitos previos e instalación

Consulte la sección sobre requisitos previos e instalación en el archivo README del script de validación de la migración.

Uso

python validator.py [options]

Todos los ajustes se pueden proporcionar como indicadores de CLI o variables de entorno. Consulte el archivo example.env en el repositorio.

Para solucionar problemas y obtener recomendaciones, consulte el archivo README del script de validación de la migración.

Limpieza

Tras finalizar la migración, se resources/artifacts creará lo siguiente:

  • Una tabla de Athena, que contiene Timestream para los datos. LiveAnalytics De forma predeterminada, esta es <Timestream database name>_<Timestream table name> en la base de datos predeterminada de Athena.

  • Una tabla de Athena que contiene datos de protocolo de línea transformados. De forma predeterminada, esta es lp_<Athena table name> en la base de datos predeterminada de Athena.

  • Alinee los datos del protocolo dentro de su bucket de S3, con la ruta<Timestream database name>/<Timestream table name>/unload- <%Y-%m-%d-%h: %M: %S>/. line-protocol-output

  • Datos descargados que se LiveAnalytics crearon como parte de la herramienta Timestream for Export.

  • Datos y registros descargados en tu instancia. EC2

  • Tabla de DynamoDB si se usa para el registro como parte de la herramienta LiveAnalytics Timestream for Export.

Limpieza de los recursos de Athena

Para eliminar cualquier tabla de Athena, ejecute el siguiente comando de CLI de AWS y sustituya <Athena table name> por el nombre de la tabla que desea eliminar y <Athena database name> por el nombre de la base de datos de Athena en la que reside la tabla:

aws glue delete-table \ --database-name <Athena database name> \ --name <Athena table name>

Limpieza de los recursos de S3

Para eliminar los datos del protocolo de línea de su bucket de S3, ejecute el siguiente comando AWS CLI y sustitúyalo por <S3 bucket name>el nombre de su bucket de S3, por <Timestream database name>el nombre de su Timestream para la LiveAnalytics base de datos, por el <Timestream table name>nombre de su Timestream para la LiveAnalytics tabla y por la marca de tiempo <timestamp>que forma la ruta Unload-<%Y-%M-%D-%H: %M: %S> en su bucket de S3:

aws s3 rm \ s3://<S3 bucket name>/<Timestream database name>/<Timestream table name>/unload-<timestamp>/line-protocol-output \ --recursive

Para eliminar un bucket de S3, ejecute el comando siguiente, y sustituya <S3 bucket name> por el nombre de su bucket de S3:

aws s3 delete-bucket --bucket <S3 bucket name>

Limpieza de los recursos de DynamoDB

Para eliminar una tabla de DynamoDB, ejecute el siguiente comando, y sustituya <table name> por el nombre de la tabla de DynamoDB que desee eliminar:

aws dynamodb delete-table --table-name <table name>