Selecione as linhas a serem ingeridas
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 : 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,CreatedDateeLoginTime. -
ServiceNow :
- Apenas o operador
ANDé suportado. O operadorORnão está disponível no momento. Por exemplo,u_age = 40 AND u_active = TRUEfunciona, masu_age = 40 OR u_active = TRUEnã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).
- Apenas o operador
-
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:
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
- Salesforce
- Google Analytics
- ServiceNow
Ingerir dados após um determinado carimbo de data/hora do sistema :
"row_filter": "SystemModstamp > '2025-06-10T23:40:11.000-07:00'"
Ingerir uma linha específica :
"row_filter": "Id = 'a00Qy00000vps2NIAQ'"
Ingerir dados após um determinado carimbo de data/hora do evento :
"row_filter": "event_timestamp > 1712224270703246"
Ingerir dados de usuários ativos :
"row_filter": "is_active_user = TRUE"
Ingerir dados para plataformas não web :
"row_filter": "platform != 'WEB'"
Ingerir dados com múltiplas condições :
"row_filter": "event_timestamp > 1712224270703246 AND (platform != 'WEB' OR is_active_user = FALSE)"
Ingerir dados após um determinado carimbo de data/hora do evento :
"row_filter": "sys_updated_on > 2004-03-02 17:14:59"
Ingerir dados de usuários ativos :
"row_filter": "u_active = TRUE"
Ingerir dados para usuários específicos :
"row_filter": "u_name = 'johnsmith'"
Ingerir dados com múltiplas condições :
"row_filter": "u_active = TRUE AND u_name = 'johnsmith'"
Operadores suportados
A tabela a seguir mostra quais operadores são suportados para filtragem de linhas:
Operador | Apoiado |
|---|---|
| Sim |
| Apenas Salesforce e Google Analítica |
| Sim |
| Sim |
| Não |
| 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.