Seleção de colunas para MySQL
Use a seleção de colunas para ingerir apenas as colunas da tabela de que você precisa. Esta página aborda os requisitos específicos para MySQL.
A seleção de colunas para MySQL está disponível apenas para pipelines integrados de captura de dados de alterações (CDC). Veja Criar um pipeline CDC integrado para MySQL.
Selecionar colunas para ingerir
Por default, o pipeline ingere todas as colunas nas tabelas que você seleciona. Para ingerir apenas algumas colunas, defina include_columns ou exclude_columns na configuração da tabela. Para uma descrição de cada propriedade e definições de pipeline de exemplo, veja Selecionar colunas para ingerir.
Colunas de key obrigatórias
O CDC mantém sua tabela de destino sincronizada fazendo correspondência de cada alteração com uma linha usando a key da tabela de origem. O conector escolhe a key nesta ordem, e sua seleção de coluna deve manter todas as colunas daquela key:
- key primária : Se a tabela tiver uma key primária, mantenha todas as colunas da key primária. Colunas de key única são opcionais.
- key única : Se a tabela não tiver key primária, mantenha todas as colunas da primeira chave única cujas colunas são todas
NOT NULL. As chaves únicas são ordenadas alfabeticamente pelo nome do índice. Por exemplo, seuk_emaileuk_phonetiverem apenasNOT NULLcolunas, o conector usaráuk_email. Para ver os nomes dos índices de uma tabela, execuçãoSHOW INDEX FROM <table>. - Sem key utilizável : Se a tabela não tiver nenhum dos dois, você pode incluir ou excluir quaisquer colunas. Uma key única com uma coluna anulável não conta como uma key.
Para manter uma coluna, liste-a em include_columns ou omita-a de exclude_columns.
Se a seleção de colunas remover uma coluna key necessária, falhará a ingestão da tabela com o erro INGESTION_GATEWAY_KEY_COLUMN_NOT_SELECTED. Para recuperar, atualize include_columns ou exclude_columns para que o key seja totalmente selecionado e, em seguida, execute um refresh completo da tabela. Consulte refresh totalmente as tabelas de destino.
Alterar a seleção de colunas de uma tabela que já está sendo ingerida
Você pode editar include_columns ou exclude_columns para uma tabela a qualquer momento, e a alteração será salva em seu pipeline. No entanto, alterar a seleção de coluna para uma tabela que já está sendo ingerida requer um refresh completo dessa tabela. Se você alterar a seleção e não executar um refresh completo da tabela afetada na mesma atualização, a atualização do pipeline falhará com o erro CANNOT_CHANGE_COLUMN_SELECTION_WITHOUT_FULL_REFRESH.