Referência do conector baseado em consulta
Visualização
Este recurso está em Pré-visualização Pública.
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.