Script de validação de migração - Amazon Timestream

Para recursos semelhantes aos do Amazon Timestream para, considere o Amazon Timestream LiveAnalytics para InfluxDB. Ele oferece ingestão de dados simplificada e tempos de resposta de consulta de um dígito em milissegundos para análises em tempo real. Saiba mais aqui.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Script de validação de migração

O script de validação compara row/point contagens lógicas entre uma tabela de origem (Amazon Timestream ou Amazon Athena) e uma medição de bucket do InfluxDB, com especificações opcionais de intervalo de tempo. Essa ferramenta ajuda a garantir a integridade dos dados durante os processos de migração executando consultas paralelas nos dois sistemas e comparando os resultados.

O script de validação suporta consultas no conjunto de dados exportado no Athena ou no banco de dados/tabela Timestream original. Esteja ciente de que consultar o Timestream diretamente pode levar a comparações imprecisas se os dados tiverem sido gravados desde a exportação. O script de validação pode ser executado a qualquer momento após o início da ingestão. Primeiro, ele pesquisa o endpoint de métricas do InfluxDB para esperar que o WAL (Write-Ahead Log) seja completamente liberado, garantindo que todo o processamento de dados seja concluído, incluindo mesclagem e desduplicação de arquivos pós-ingestão. Em seguida, o script executa consultas somente de contagem em janelas de tempo idênticas, comparando os resultados para destacar correspondências ou incompatibilidades. Ele oferece suporte à schema/tag filtragem opcional para esquemas transformados em que as dimensões são usadas como campos e produz resumos de tempo e resultados legíveis por humanos para facilitar a validação do processo de migração.

Pré-requisitos e instalação

Consulte a seção de pré-requisitos e instalação no README do script de validação de migração.

Uso

python validator.py [options]

Todas as configurações podem ser fornecidas como sinalizadores CLI ou variáveis de ambiente. Veja o arquivo example.env no repositório.

Para solução de problemas e recomendações, consulte o README do script de validação de migração.

Limpeza

Depois de concluir a migração, resources/artifacts o seguinte será criado:

  • Uma tabela do Athena, contendo Timestream para dados. LiveAnalytics Por padrão, ela será <Timestream database name>_ <Timestream table name> no banco de dados padrão do Athena.

  • Uma tabela do Athena, contendo dados de protocolo de linha transformados. Por padrão, ela é lp_<Athena table name> no banco de dados padrão do Athena.

  • Linhe os dados do protocolo em seu bucket do S3, com o caminho<Timestream database name>/<Timestream table name>/unload- <%Y-%m-%d-%h: %M: %S>/. line-protocol-output

  • Dados descarregados que foram criados como parte da ferramenta Timestream for LiveAnalytics export.

  • Dados e registros baixados na sua EC2 instância.

  • Tabela do DynamoDB, se usada para registro como parte da ferramenta LiveAnalytics Timestream for export.

Limpando os recursos do Athena

Para excluir qualquer tabela do Athena, execute o seguinte comando da AWS CLI, substituindo <Athena table name> pelo nome da tabela que você deseja excluir e <Athena database name> pelo nome do banco de dados do Athena no qual a tabela reside:

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

Limpeza de recursos S3

Para excluir dados de protocolo de linha no bucket do S3, execute o seguinte comando da AWS CLI, <S3 bucket name>substituindo-o pelo nome do bucket do S3, pelo nome do Timestream do <Timestream database name>banco de dados, pelo nome do Timestream da <Timestream table name>tabela <timestamp>e LiveAnalytics pelo timestamp que forma o caminho Unload-<%Y-%m-%d-%h LiveAnalytics : %M: %S> no bucket do S3:

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

Para excluir um bucket do S3, execute o seguinte comando, substituindo <S3 bucket name> pelo nome do bucket do S3:

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

Limpando os recursos do DynamoDB

Para excluir uma tabela do DynamoDB, execute o comando a seguir, substituindo <table name> pelo nome da tabela do DynamoDB que você deseja excluir:

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