Pular para o conteúdo principal

Selecione as linhas a serem ingeridas

info

Beta

Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a este recurso na página de Pré-visualizações . Veja as prévias do Gerenciador Databricks.

Aplica-se a : Sim, marcado como certo Criação pipeline baseada em API

A filtragem de linhas permite que você ingira apenas os dados necessários, aplicando condições semelhantes a uma cláusula SQL WHERE . Isso melhora o desempenho (especialmente para cargas iniciais com dados históricos) e minimiza a duplicação de dados (especialmente em ambientes de desenvolvimento).

Conectores suportados

  • Google Analytics
  • Salesforce
  • ServiceNow

Como funciona o filtro de linhas

A filtragem de linhas funciona como um filtro WHERE em SQL. Você pode comparar os valores na fonte com números inteiros, booleanos, strings e outros tipos de dados. Você também pode usar combinações complexas de cláusulas para extrair apenas os dados de que precisa.

O filtro de linhas se aplica tanto durante o carregamento inicial quanto nas atualizações incrementais subsequentes.

Limitações

A filtragem de linhas apresenta as seguintes limitações:

  • Salesforce : A filtragem de linhas é compatível apenas com duas colunas: a key primária (ID, se disponível) e a coluna do cursor. O conector seleciona a coluna do cursor da seguinte lista, por ordem de preferência: SystemModstamp, LastModifiedDate, CreatedDate e LoginTime.

  • ServiceNow :

    • Apenas o operador AND é suportado. O operador OR não está disponível no momento. Por exemplo, u_age = 40 AND u_active = TRUE funciona, mas u_age = 40 OR u_active = TRUE não.
    • Os carimbos de data/hora nos filtros devem estar no seguinte formato: YYYY-MM-DD HH: mm:SS (por exemplo, 2004-03-02 17:14:59).
  • Atualizações de linha ou consulta : O conector não exclui uma linha quando ela corresponde ao filtro no carregamento inicial, mas a linha ou a consulta é atualizada de forma que não corresponda mais em um carregamento subsequente. O conector também não inclui uma linha que não correspondia à consulta em uma atualização anterior do pipeline, mas que agora corresponde em uma atualização subsequente.

Configurar filtragem de linhas

Para configurar um pipeline com filtragem de linhas, adicione a configuração row_filter à especificação do seu pipeline. Por exemplo:

Python
pipeline_spec = """
{
"name": "...",
"ingestion_definition": {
"connection_name": "...",
"objects": [
{
"table": {
"source_schema": "...",
"source_table": "...",
"destination_catalog": "...",
"destination_schema": "...",
"destination_table": "...",
"table_configuration": {
"row_filter": "details go here; see examples below"
}
}
}
]
},
"channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)

Exemplos

Ingerir dados após um determinado carimbo de data/hora do sistema :

JSON
"row_filter": "SystemModstamp > '2025-06-10T23:40:11.000-07:00'"

Ingerir uma linha específica :

JSON
"row_filter": "Id = 'a00Qy00000vps2NIAQ'"

Operadores suportados

A tabela a seguir mostra quais operadores são suportados para filtragem de linhas:

Operador

Apoiado

AND

Sim

OR

Apenas Salesforce e Google Analítica

=

Sim

!=

Sim

LIKE

Não

IN

Não

< <=

Sim

> >=

Sim

Perguntas frequentes

Encontre respostas para perguntas frequentes sobre filtragem de linhas.

O que acontece se uma linha não corresponder ao filtro de linhas no carregamento inicial, mas for atualizada posteriormente para corresponder a ele em um carregamento subsequente?

A linha é incluída durante a próxima atualização do pipeline. Isso não requer uma refresh.

O que acontece se uma linha corresponder ao filtro de linhas no carregamento inicial, mas for atualizada posteriormente e deixar de corresponder?

A linha não será excluída durante a próxima atualização do pipeline.

O que acontece se eu atualizar a consulta e uma linha anteriormente não ingerida passar a corresponder?

A linha não será incluída na próxima atualização do pipeline. Isso requer uma refresh completa.

O que acontece se eu atualizar a consulta e uma linha previamente inserida não corresponder mais?

A linha não será excluída durante a próxima atualização do pipeline.

Recursos adicionais