Skrip validasi migrasi - Amazon Timestream

Untuk kemampuan serupa dengan Amazon Timestream LiveAnalytics, pertimbangkan Amazon Timestream untuk InfluxDB. Ini menawarkan konsumsi data yang disederhanakan dan waktu respons kueri milidetik satu digit untuk analitik waktu nyata. Pelajari lebih lanjut di sini.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Skrip validasi migrasi

Skrip validasi membandingkan row/point jumlah logis antara tabel sumber (Amazon Timestream atau Amazon Athena) dan pengukuran bucket InfluxDB, dengan spesifikasi rentang waktu opsional. Alat ini membantu memastikan integritas data selama proses migrasi dengan menjalankan query paralel terhadap kedua sistem dan membandingkan hasilnya.

Skrip validasi mendukung kueri terhadap dataset yang diekspor di Athena atau database/tabel Timestream asli. Ketahuilah bahwa menanyakan Timestream secara langsung dapat menyebabkan perbandingan yang tidak akurat jika data telah ditulis sejak ekspor. Skrip validasi dapat dijalankan kapan saja setelah konsumsi dimulai. Ini pertama kali melakukan polling pada titik akhir metrik InfluxDB untuk menunggu WAL (Write-Ahead Log) sepenuhnya, memastikan semua pemrosesan data, termasuk penggabungan dan de-duplikasi file pasca-konsumsi, selesai. Skrip kemudian mengeksekusi kueri hitungan saja melalui jendela waktu yang identik, membandingkan hasil untuk menyoroti kecocokan atau ketidakcocokan. Ini mendukung schema/tag penyaringan opsional untuk skema yang diubah di mana dimensi digunakan sebagai bidang, dan menghasilkan ringkasan waktu dan hasil yang dapat dibaca manusia untuk memfasilitasi validasi proses migrasi.

Prasyarat dan instalasi

Lihat bagian prasyarat dan instalasi di Migration Validation Script README.

Penggunaan

python validator.py [options]

Semua pengaturan dapat diberikan sebagai bendera CLI atau variabel lingkungan. Lihat file example.env dalam repositori.

Untuk pemecahan masalah dan rekomendasi, lihat Migration Validation Script README.

Pembersihan

Setelah menyelesaikan migrasi, berikut resources/artifacts akan dibuat:

  • Tabel Athena, berisi Timestream untuk data. LiveAnalytics Secara default, ini adalah <Timestream database name>_ <Timestream table name>dalam database Athena default.

  • Tabel Athena, berisi data protokol garis yang ditransformasikan. Secara default, ini adalah lp_ <Athena table name>di database Athena default.

  • Data protokol baris dalam bucket S3 Anda, dengan jalur<Timestream database name>/<Timestream table name>/unload- <%y-%m-%D-%H: %M: %S>/. line-protocol-output

  • Data yang dibongkar yang dibuat sebagai bagian dari Timestream untuk alat LiveAnalytics ekspor.

  • Data yang diunduh dan log pada EC2 instans Anda.

  • DynamoDB tabel jika digunakan untuk logging sebagai bagian dari LiveAnalytics Timestream untuk alat ekspor.

Membersihkan sumber daya Athena

Untuk menghapus tabel Athena, jalankan perintah AWS CLI berikut, ganti <Athena table name>dengan nama tabel yang ingin Anda hapus dan <Athena database name>dengan nama database Athena tempat tabel berada:

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

Membersihkan sumber daya S3

Untuk menghapus data protokol baris dalam bucket S3 Anda, jalankan perintah AWS CLI berikut, <S3 bucket name>ganti dengan nama bucket S3 Anda, dengan nama Timestream Anda <Timestream database name> LiveAnalytics untuk database, dengan nama Timestream Anda <Timestream table name> LiveAnalytics untuk tabel, <timestamp>dan dengan stempel waktu yang membentuk Unload-<%y-%m-%d-%h: %M: %S> path di bucket S3 Anda:

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

Untuk menghapus bucket S3, jalankan perintah berikut, ganti <S3 bucket name>dengan nama bucket S3 Anda:

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

Membersihkan sumber daya DynamoDB

Untuk menghapus tabel DynamoDB, jalankan perintah berikut, <table name>ganti dengan nama tabel DynamoDB yang ingin Anda hapus:

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