Solução de problemas em integrações ETL zero do Aurora com o Amazon Redshift - Amazon Aurora

Solução de problemas em integrações ETL zero do Aurora com o Amazon Redshift

Você pode verificar o estado de uma integração ETL zero consultando a tabela do sistema SVV_INTEGRATION no Amazon Redshift. Se a coluna state tiver um valor de ErrorState, isso significa que há algo errado. Para ter mais informações, consulte Monitorar integrações usando tabelas do sistema.

Use as informações a seguir para solucionar problemas comuns em integrações ETL zero do Aurora com o Amazon Redshift.

Não consigo criar uma integração ETL zero.

Se você não conseguir criar uma integração ETL zero, verifique se as seguintes informações estão corretas para o banco de dados de origem:

Além disso, confira se o indicado a seguir está correto para seu data warehouse de destino:

Minha integração está travada em um estado de Syncing.

Sua integração poderá mostrar consistentemente um status de Syncing se você alterar o valor de um dos parâmetros obrigatórios do banco de dados.

Para corrigir esse problema, confira os valores dos parâmetros no grupo de parâmetros associado ao cluster de banco de dados de origem e verifique se eles correspondem aos valores obrigatórios. Para ter mais informações, consulte Etapa 1: Criar um grupo de parâmetros de cluster de banco de dados personalizado.

Se você modificar algum parâmetro, reinicialize o cluster de banco de dados para aplicar as alterações.

Minhas tabelas não estão sendo replicadas para o Amazon Redshift.

Caso não veja uma ou mais tabelas refletidas no Amazon Redshift, execute um dos seguintes comandos para ressincronizá-las:

ALTER DATABASE dbname INTEGRATION REFRESH TABLES table1, table2;

Para ter mais informações, consulte ALTER DATABASE na referência do Amazon Redshift SQL.

Talvez seus dados não estejam sendo replicados porque uma ou mais tabelas de origem não têm uma chave primária. O painel de monitoramento no Amazon Redshift exibe o status dessas tabelas como Failed, e o status da integração ETL zero geral muda para Needs attention. Para resolver esse problema, é possível identificar uma chave em sua tabela que pode se tornar uma chave primária ou adicionar uma chave primária sintética. Para conhecer as soluções detalhadas, consulte os seguintes recursos:

Uma ou mais das minhas tabelas do Amazon Redshift exigem ressincronização.

A execução de determinados comandos no banco de dados de origem pode exigir que suas tabelas sejam novamente sincronizadas. Nesses casos, a visualização do sistema SVV_INTEGRATION_TABLE_STATE mostra um table_state de ResyncRequired, o que significa que a integração deve recarregar completamente os dados dessa tabela específica do MySQL para o Amazon Redshift.

Quando a tabela começa a ser ressincronizada, ela entra em um estado de Syncing. Você não precisa realizar nenhuma ação manual para ressincronizar uma tabela. Enquanto os dados da tabela estiverem sendo sincronizados novamente, você não poderá acessá-los no Amazon Redshift.

A seguir estão alguns exemplos de operações que podem colocar uma tabela em um estado ResyncRequired e possíveis alternativas a serem consideradas.

Operation Exemplo Alternativa
Adicionar uma coluna em uma posição específica
ALTER TABLE table_name ADD COLUMN column_name INTEGER NOT NULL first;
O Amazon Redshift não oferece suporte à adição de colunas em posições específicas usando as palavras-chave first ou after. Se a ordem das colunas na tabela de destino não for crítica, adicione a coluna no final da tabela usando um comando mais simples:
ALTER TABLE table_name ADD COLUMN column_name column_type;
Adicionar uma coluna de carimbo de data/hora com o CURRENT_TIMESTAMP padrão
ALTER TABLE table_name ADD COLUMN column_name TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
O valor CURRENT_TIMESTAMP das linhas da tabela é calculado pelo Aurora MySQL e não pode ser simulado no Amazon Redshift sem uma nova sincronização completa dos dados da tabela.

Se possível, altere o valor padrão para uma constante literal, como 2023-01-01 00:00:15, a fim de evitar latência na disponibilidade da tabela.

Executar várias operações de coluna em um único comando
ALTER TABLE table_name ADD COLUMN column_1, RENAME COLUMN column_2 TO column_3;
Considere dividir o comando em duas operações separadas, ADDRENAME, que não exigirão ressincronização.