Script de validation de migration - Amazon Timestream

Pour des fonctionnalités similaires à celles d'Amazon Timestream pour, pensez à Amazon Timestream LiveAnalytics pour InfluxDB. Il permet une ingestion simplifiée des données et des temps de réponse aux requêtes à un chiffre en millisecondes pour des analyses en temps réel. Pour en savoir plus, cliquez ici.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Script de validation de migration

Le script de validation compare les row/point nombres logiques entre une table source (Amazon Timestream ou Amazon Athena) et une mesure de bucket InfluxDB, avec des spécifications de plage de temps facultatives. Cet outil permet de garantir l'intégrité des données pendant les processus de migration en exécutant des requêtes parallèles sur les deux systèmes et en comparant les résultats.

Le script de validation prend en charge les requêtes portant soit sur le jeu de données exporté dans Athena, soit sur la base de données/table Timestream d'origine. Sachez que le fait d'interroger directement Timestream peut entraîner des comparaisons inexactes si des données ont été écrites depuis l'exportation. Le script de validation peut être exécuté à tout moment après le début de l'ingestion. Il interroge d'abord le point de terminaison des métriques d'InfluxDB pour attendre que le WAL (Write-Ahead Log) soit complètement vidé, garantissant ainsi que tous les traitements de données, y compris la fusion et la déduplication de fichiers après ingestion, sont terminés. Le script exécute ensuite des requêtes avec décompte uniquement sur des fenêtres temporelles identiques, en comparant les résultats pour mettre en évidence les correspondances ou les incohérences. Il prend en charge le schema/tag filtrage facultatif pour les schémas transformés dans lesquels les dimensions sont utilisées comme champs, et produit des chronométrages lisibles par l'homme et des résumés des résultats pour faciliter la validation du processus de migration.

Prérequis et installation

Consultez la section relative aux conditions requises et à l'installation dans le fichier README du script de validation de migration.

Utilisation

python validator.py [options]

Tous les paramètres peuvent être fournis sous forme d'indicateurs CLI ou de variables d'environnement. Consultez le fichier exemple.env dans le référentiel.

Pour le dépannage et les recommandations, consultez le script de validation de migration README.

Nettoyage

Une fois la migration terminée, les éléments suivants resources/artifacts seront créés :

  • Une table Athena contenant le flux temporel des données. LiveAnalytics Par défaut, il s'agit de <Timestream database name>_ <Timestream table name>dans la base de données Athena par défaut.

  • Une table Athena contenant des données de protocole de ligne transformées. Par défaut, il s'agit de lp_ <Athena table name>dans la base de données Athena par défaut.

  • Données de protocole de ligne dans votre compartiment S3, avec le chemin<Timestream database name>/<Timestream table name>/unload- <%Y-%m-%d-%h : %M : %S>/. line-protocol-output

  • Données déchargées créées dans le cadre de l'outil Timestream for LiveAnalytics export.

  • Données et journaux téléchargés sur votre EC2 instance.

  • La table DynamoDB est utilisée pour la journalisation dans le cadre de l'outil LiveAnalytics Timestream for export.

Nettoyage des ressources d'Athéna

Pour supprimer une table Athena, exécutez la commande AWS CLI suivante, en <Athena table name>remplaçant par le nom de la table que vous souhaitez supprimer et par <Athena database name>le nom de la base de données Athena dans laquelle la table réside :

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

Nettoyage des ressources S3

Pour supprimer les données du protocole de ligne dans votre compartiment S3, exécutez la commande AWS CLI suivante, en <S3 bucket name>remplaçant par le nom de votre compartiment S3, par le nom de votre Timestream pour <Timestream database name>la LiveAnalytics base de données, par le nom de votre Timestream pour <Timestream table name>la LiveAnalytics table et par l'<timestamp>horodatage qui forme le chemin Unload-<%Y-%m-%d-%h : %M : %S> dans votre compartiment S3 :

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

Pour supprimer un compartiment S3, exécutez la commande suivante en <S3 bucket name>le remplaçant par le nom de votre compartiment S3 :

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

Nettoyage des ressources DynamoDB

Pour supprimer une table DynamoDB, exécutez la commande suivante en la <table name>remplaçant par le nom de la table DynamoDB que vous souhaitez supprimer :

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