Solução de problemas em Integrações ETL zero do Amazon RDS - Amazon Relational Database Service

Solução de problemas em Integrações ETL zero do Amazon RDS

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

Use as informações a seguir para solucionar problemas comuns em Integrações ETL zero do Amazon RDS.

Importante

As operações de ressincronização e atualização não estão disponíveis para Integrações ETL zero com um lakehouse do Amazon SageMaker. Se houver problemas com uma integração, você deve excluí-la e criar outra. Não é possível atualizar ou ressincronizar uma integração existente.

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 banco de dados de origem e verifique se eles correspondem aos valores obrigatórios. Para obter mais informações, consulte Etapa 1: criar um grupo de parâmetros de de banco de dados personalizado.

Se você modificar algum parâmetro, reinicialize o 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 Handle tables without primary keys while creating Amazon Aurora MySQL or Amazon RDS for MySQL zero-ETL integrations with Amazon Redshift.

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.

Operação 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 RDS para 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.

Problemas de falha em Integrações ETL zero com um lakehouse do Amazon SageMaker

Se você encontrar problemas em uma Integração ETL zero existente com um lakehouse do Amazon SageMaker, a única solução é excluir a integração e criar outra. Diferentemente de outros serviços da AWS, as Integrações ETL zero não permitem operações de atualização ou ressincronização.

Para resolver problemas de integração:

  1. Exclua a Integração ETL zero que apresenta problemas usando o console, a CLI ou a API.

  2. Verifique se as configurações do banco de dados de origem e do data warehouse de destino estão corretas.

  3. Crie outra Integração ETL zero com a mesma configuração ou a configuração atualizada.

Esse processo provocará a reinicialização completa do pipeline de dados, o que pode levar algum tempo, dependendo do tamanho do banco de dados de origem.