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.
Tópicos
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:
-
O banco de dados de origem deve estar executando uma versão de mecanismo de banco de dados compatível. Para conferir uma lista de versões compatíveis, consulte Regiões e mecanismos de banco de dados que permitem Integrações ETL zero com o Amazon RDS.
-
Você configurou corretamente os parâmetros de banco de dados. Se os parâmetros necessários forem definidos incorretamente ou não estiverem associados ao banco de dados, a criação falhará. Consulte Etapa 1: criar um grupo de parâmetros de de banco de dados personalizado.
Além disso, confira se o indicado a seguir está correto para seu data warehouse de destino:
-
Ter a diferenciação entre maiúsculas e minúsculas habilitada. Consulte Ativar a diferenciação entre maiúsculas e minúsculas em um data warehouse.
-
Você adicionou a entidade principal autorizada e a origem de integração corretas. Consulte Configurar a autorização para o data warehouse do Amazon Redshift.
-
O data warehouse é criptografado (se for um cluster provisionado). Consulte Criptografia de banco de dados do Amazon Redshift.
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 TABLEStable1
,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 |
|
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:
|
Adicionar uma coluna de carimbo de data/hora com o CURRENT_TIMESTAMP padrão |
|
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 |
Executar várias operações de coluna em um único comando |
|
Considere dividir o comando em duas operações separadas, ADD e RENAME , 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:
-
Exclua a Integração ETL zero que apresenta problemas usando o console, a CLI ou a API.
-
Verifique se as configurações do banco de dados de origem e do data warehouse de destino estão corretas.
-
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.