Solução de problemas em integrações ETL zero do Amazon RDS com o Amazon Redshift
Esta é a documentação de pré-lançamento das Integrações ETL zero do Amazon RDS com o Amazon Redshift, que está em versão de pré-visualização. A documentação e o atributo estão sujeitos a alterações. Recomendamos o uso desse atributo somente em ambientes de teste, e não em ambientes de produção. Para conferir os termos e condições da pré-visualização, consulte Betas e pré-visualizações nos Termos de serviços da AWS |
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 de sistema para o Amazon Redshift.
Use as informações a seguir para solucionar problemas comuns em integrações ETL zero do Amazon RDS com o Amazon Redshift.
Tópicos
Não consigo criar uma integração ETL zero.
Se você não consegue criar uma integração ETL zero, verifique se as informações a seguir estão corretas para sua instância de banco de dados de origem:
-
O banco de dados de origem está executando o RDS para MySQL versão 8.0.32 ou posterior. Para confirmar a versão do mecanismo, escolha a guia Configuração do banco de dados e confira a versão do mecanismo.
-
Você configurou corretamente os parâmetros do de banco de dados. Se os parâmetros necessários forem definidos incorretamente ou não estiverem associados à instância de 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 ter 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 na instância de banco de dados de origem pode exigir que suas tabelas sejam ressincronizadas. 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 |
|
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. |