Skript zur Überprüfung der Migration - Amazon Timestream

Für ähnliche Funktionen wie Amazon Timestream für sollten Sie Amazon Timestream for LiveAnalytics InfluxDB in Betracht ziehen. Es bietet eine vereinfachte Datenaufnahme und Antwortzeiten im einstelligen Millisekundenbereich für Analysen in Echtzeit. Erfahren Sie hier mehr.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Skript zur Überprüfung der Migration

Das Validierungsskript vergleicht logische row/point Zählungen zwischen einer Quelltabelle (Amazon Timestream oder Amazon Athena) und einer InfluxDB-Bucket-Messung mit optionalen Zeitbereichsspezifikationen. Dieses Tool trägt dazu bei, die Datenintegrität während Migrationsprozessen sicherzustellen, indem parallel Abfragen für beide Systeme ausgeführt und die Ergebnisse verglichen werden.

Das Validierungsskript unterstützt Abfragen entweder für den exportierten Datensatz in Athena oder für die ursprüngliche Timestream-Datenbank/-Tabelle. Beachten Sie, dass die direkte Abfrage von Timestream zu ungenauen Vergleichen führen kann, wenn seit dem Export Daten geschrieben wurden. Das Überprüfungsskript kann jederzeit ausgeführt werden, nachdem die Erfassung begonnen hat. Es fragt zunächst den Metrikendpunkt von InfluxDB ab, um darauf zu warten, dass das WAL (Write-Ahead Log) vollständig geleert ist, um sicherzustellen, dass die gesamte Datenverarbeitung, einschließlich der Zusammenführung und Deduplizierung von Dateien nach der Aufnahme, abgeschlossen ist. Das Skript führt dann Abfragen aus, bei denen nur die Anzahl berücksichtigt wird, über identische Zeitfenster und vergleicht die Ergebnisse, um Übereinstimmungen oder Nichtübereinstimmungen hervorzuheben. Es unterstützt optionale schema/tag Filterung für transformierte Schemas, bei denen Dimensionen als Felder verwendet werden, und erstellt für Menschen lesbare Timing- und Ergebniszusammenfassungen, um die Validierung des Migrationsprozesses zu erleichtern.

Voraussetzungen und Installation

Informationen zu den Voraussetzungen und zur Installation finden Sie in der README-Datei zum Migrationsvalidierungsskript.

Usage

python validator.py [options]

Alle Einstellungen können als CLI-Flags oder Umgebungsvariablen bereitgestellt werden. Sehen Sie sich die beispiele.env-Datei im Repository an.

Informationen zur Problembehandlung und Empfehlungen finden Sie in der README-Datei zum Migrationsvalidierungsskript.

Bereinigen

Nach Abschluss einer Migration resources/artifacts wird Folgendes erstellt:

  • Eine Athena-Tabelle, die Timestream für LiveAnalytics Daten enthält. Standardmäßig ist dies <Timestream database name>_ <Timestream table name>in der Standard-Athena-Datenbank.

  • Eine Athena-Tabelle, die transformierte Leitungsprotokolldaten enthält. Standardmäßig ist dies lp_ <Athena table name>in der Standard-Athena-Datenbank.

  • Zeilenprotokolldaten innerhalb Ihres S3-Buckets mit dem Pfad<Timestream database name>/<Timestream table name>/unload- <%Y-%M-%D-%H: %M: %S>/. line-protocol-output

  • Entladene Daten, LiveAnalytics die als Teil des Tools Timestream for Export erstellt wurden.

  • Daten und Protokolle wurden auf Ihrer EC2 Instanz heruntergeladen.

  • DynamoDB-Tabelle, wenn sie für die Protokollierung als Teil des Timestream-Tools für LiveAnalytics den Export verwendet wird.

Aufräumen der Athena-Ressourcen

Um eine Athena-Tabelle zu löschen, führen Sie den folgenden AWS CLI-Befehl aus und <Athena table name>ersetzen Sie ihn durch den Namen der Tabelle, die Sie löschen möchten, und <Athena database name>durch den Namen der Athena-Datenbank, in der sich die Tabelle befindet:

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

Bereinigen von S3-Ressourcen

Um Linienprotokolldaten in Ihrem S3-Bucket zu löschen, führen Sie den folgenden AWS CLI-Befehl aus und <S3 bucket name>ersetzen Sie ihn durch den Namen Ihres S3-Buckets, durch <Timestream database name>den Namen Ihres LiveAnalytics Timestream-For-Datenbank, durch den <Timestream table name>Namen Ihres Timestream für die LiveAnalytics Tabelle und durch den <timestamp>Zeitstempel, der den Pfad UNLOAD-<%Y-%M-%D-%H: %M: %S> in Ihrem S3-Bucket bildet:

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

Um einen S3-Bucket zu löschen, führen Sie den folgenden Befehl aus und <S3 bucket name>ersetzen Sie ihn durch den Namen Ihres S3-Buckets:

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

DynamoDB-Ressourcen bereinigen

Um eine DynamoDB-Tabelle zu löschen, führen Sie den folgenden Befehl aus und <table name>ersetzen Sie ihn durch den Namen der DynamoDB-Tabelle, die Sie löschen möchten:

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