Referência do conector baseado em consulta
Esta página contém documentação de referência para conectores baseados em consultas no LakeFlow Connect, incluindo parâmetros de configuração, requisitos de coluna do cursor, sintaxe de acompanhamento de exclusão e condições de erro.
Configuração do pipeline
Os seguintes parâmetros são suportados para conectores baseados em consultas. Defina esses valores no bloco ingestion_definition da configuração do seu pipeline.
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Necessário para ingestão de conexão estrangeira | O nome da conexão que armazena as credenciais de autenticação para o banco de dados de origem. Se |
| boolean | Necessário para ingestão de catálogo estrangeiro | Defina como |
| string | Sim | O catálogo no sistema de origem (ou o nome do catálogo estrangeiro se |
| string | Sim | O esquema no sistema de origem do qual os dados serão ingeridos. |
| string | Necessário para objetos de nível de tabela. | A tabela no esquema de origem a ser ingerida. |
| string | Necessário para ingestão de conexão estrangeira | O nome da coluna do cursor a ser usada para acompanhamento incremental. Deve ser uma única coluna monotonicamente crescente. Consulte os requisitos da coluna Cursor. |
| lista de strings | Necessário para ingestão de catálogo estrangeiro | Uma lista contendo o nome da coluna do cursor. Apenas uma coluna é suportada. |
| lista de strings | Obrigatório, a menos que o modo história acompanhamento (SCD) seja | As colunas key primária usadas para identificar linhas em operações merge . Necessário para os modos |
| string | Não | Uma expressão SQL que resulta em |
| inteiro | Não | Intervalo mínimo em segundos entre as verificações de snapshots key primária para detecção de exclusões permanentes. Se não estiver configurado, o acompanhamento por exclusão permanente é desativado. Configurável apenas através da API (Beta). Consulte Acompanhamento de exclusão irreversível. |
| string | Não | O modo história acompanhamento (SCD) para a tabela de destino. Valores suportados: |
| string | Sim | O catálogo no qual a tabela de destino será gravada. |
| string | Sim | O esquema para escrever na tabela de destino. |
| string | Não | O nome da tabela de destino. Caso não seja especificado, será utilizado por padrão o nome da tabela de origem. Consulte Nomear uma tabela de destino. |
Requisitos da coluna do cursor
A coluna do cursor rastreia o progresso incremental entre a execução pipeline . O conector armazena o valor máximo do cursor após cada execução bem-sucedida e o utiliza como filtro de limite inferior na próxima execução.
Requisitos:
- Você deve especificar uma única coluna de cursor. Não é possível especificar várias colunas como um cursor composto. Se você especificar mais de um, o pipeline falhará com
INVALID_CURSOR_COLUMNS. - A coluna do cursor deve aumentar monotonicamente. Os valores nunca devem diminuir. As linhas com valores de cursor iguais ou inferiores à marca d'água máxima armazenada não são reinseridas em execuções subsequentes.
- Linhas com uma coluna de cursor NULL não são incluídas.
Tipos de coluna suportados:
- Tipos de carimbo de data/hora ou data (recomendado)
- Tipos numéricos (inteiro, inteiro longo, decimal e ponto flutuante de dupla precisão)
- Tipos binários (codificados como números binários)
- tipos de strings
Condição de exclusão
O parâmetro deletion_condition permite que conectores baseados em consultas detectem exclusões lógicas. Este recurso só pode ser configurado através da API.
O valor é uma expressão SQL que resulta em true para linhas que devem ser tratadas como excluídas na tabela de destino. O conector avalia essa expressão durante cada execução do pipeline.
Sintaxe:
"deletion_condition": "<sql-expression>"
Exemplos:
"deletion_condition": "deleted_at IS NOT NULL"
"deletion_condition": "is_deleted = 1"
"deletion_condition": "status = 'DELETED'"
Quando uma linha corresponde a deletion_condition, o conector remove a linha correspondente da tabela de destino (para SCD_TYPE_1) ou a marca como excluída (para SCD_TYPE_2).
exclusão permanente
O parâmetro hard_deletion_sync_min_interval_in_seconds permite que conectores baseados em consultas detectem exclusões permanentes — linhas que foram fisicamente removidas da tabela de origem. Este recurso está em versão Beta e só pode ser configurado através da API.
O acompanhamento de exclusão permanente funciona tirando periodicamente um instantâneo da chave primária presente na tabela de origem e comparando-o com a tabela de destino. As linhas presentes no destino, mas ausentes no snapshot de origem, são tratadas como excluídas.
O valor define o intervalo mínimo em segundos entre as verificações de instantâneo. Esse valor funciona como um limite inferior: se a execução pipeline for menos frequente do que esse intervalo, a sincronização de exclusão permanente se alinha com a frequência real de ingestão, em vez de ser executada com mais frequência. A atualização deste parâmetro não aciona um Snapshot completo.
A exclusão permanente de acompanhamento requer que primary_keys seja configurado na tabela.
Sintaxe:
"hard_deletion_sync_min_interval_in_seconds": <integer>
Exemplo:
"hard_deletion_sync_min_interval_in_seconds": 86400
Este exemplo aciona uma verificação de exclusão permanente no máximo uma vez a cada 24 horas (86400 segundos).
Condições de erro
O erro mais comum é INVALID_CURSOR_COLUMNS. Isso ocorre quando a coluna do cursor não está configurada corretamente. Consulte a seção "Colunas de cursor inválidas" para solucionar problemas.