Criar um pipeline de ingestão do ServiceNow
Esta página descreve como criar um pipeline de ingestão do ServiceNow usando Databricks LakeFlow Connect.
Antes de começar
Para criar um pipeline de ingestão, o senhor deve atender aos seguintes requisitos:
-
Seu workspace deve estar habilitado para o Unity Catalog.
-
O compute sem servidor deve estar habilitado para o seu workspace. Consulte os requisitos do compute sem servidor.
-
Se você planeja criar uma nova conexão: você deve ter privilégios
CREATE CONNECTIONna metastore.Se o conector oferecer suporte à criação pipeline baseada em interface de usuário, um administrador poderá criar a conexão e o pipeline ao mesmo tempo, concluindo os passos nesta página. No entanto, se os usuários que criam o pipeline usarem a criação pipeline baseada em API ou não forem usuários administradores, um administrador deverá primeiro criar a conexão no Catalog Explorer. Veja Conectar às fontes de ingestão de gerenciar.
-
Se você planeja usar uma conexão existente: você deve ter privilégios
USE CONNECTIONouALL PRIVILEGESno objeto de conexão. -
Você deve ter privilégios
USE CATALOGno catálogo de destino. -
Você deve ter privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou privilégiosCREATE SCHEMAno catálogo de destino.
Para ingerir a partir do ServiceNow, consulte Configurar o ServiceNow para ingestão do Databricks.
Criar o pipeline de ingestão
Permissões necessárias: USE CONNECTION em uma conexão.
Esta etapa descreve como criar o pipeline de ingestão. Cada tabela ingerida é gravada em uma tabela de transmissão com o mesmo nome.
Beta
Você pode filtrar linhas durante a ingestão para melhorar o desempenho e reduzir a duplicação de dados. Consulte Selecionar linhas para ingestão.
- Databricks UI
- Databricks notebook
- Databricks CLI
-
Na barra lateral do site Databricks workspace, clique em ingestão de dados .
-
Na página Adicionar dados , em Conectores do Databricks , clique em ServiceNow .
O assistente de ingestão é aberto.
-
Na página Ingestion pipeline (Pipeline de ingestão ) do assistente, digite um nome exclusivo para o pipeline.
-
No menu suspenso Catálogo de destino , selecione um catálogo. Os dados ingeridos e o evento logs serão gravados nesse catálogo. Você selecionará um esquema de destino posteriormente.
-
Selecione a conexão do Unity Catalog que armazena as credenciais necessárias para acessar os dados de origem.
Se não houver conexões existentes com a origem, clique em Create connection (Criar conexão ) e insira os detalhes de autenticação que o senhor obteve em Configure ServiceNow for Databricks ingestion (Configurar ingestão do ServiceNow para Databricks). Você deve ter privilégios
CREATE CONNECTIONna metastore. -
Clique em Create pipeline (Criar pipeline) e continue .
-
Na página Origem , selecione as tabelas a serem ingeridas e clique em Avançar .
Se você selecionar Todas as tabelas , o conector gravará todas as tabelas existentes e futuras no esquema de origem no esquema de destino. Há um máximo de 250 mesas por pipeline.
-
Na página Destination (Destino ), selecione o catálogo e o esquema do Unity Catalog para gravar.
Se você não quiser usar um esquema existente, clique em Criar esquema . Você deve ter privilégios
USE CATALOGeCREATE SCHEMAno catálogo principal. -
Clique em Save pipeline (Salvar pipeline) e continue .
-
(Opcional) Na página Settings (Configurações ), clique em Create programar (Criar programa ). Defina a frequência para refresh as tabelas de destino.
-
(Opcional) Defina as notificações do site email para o sucesso ou fracasso das operações do pipeline.
-
Clique em Save e execute pipeline .
-
Gere um access token pessoal e copie os tokens para poder colá-los em um Notebook mais tarde. Consulte Criar access tokens pessoais para usuários workspace.
-
Importe o seguinte Notebook para o site workspace:
Criar um pipeline de ingestão do ServiceNow
-
Modifique os seguintes valores no Notebook:
Célula 1:
api_token: Os tokens de acesso pessoal que o senhor gerou
Célula 3:
-
name: Um nome para o pipeline -
connection_name: O nome da conexão do Unity Catalog que o senhor criou no Catalog Explorer (Catalog > External data > Connections ). Se você não tiver uma conexão existente com a fonte, poderá criar uma. Você deve ter o privilégioCREATE CONNECTIONna metastore. -
source_table: O nome da tabela de origem -
destination_catalog: um nome para o catálogo de destino que conterá os dados ingeridos -
destination_schema: um nome para o esquema de destino que conterá os dados ingeridos -
scd_type: O método SCD a ser usado:SCD_TYPE_1ouSCD_TYPE_2. -
include_columns: opcionalmente, especifique uma lista de colunas a serem incluídas para ingestão. Se o senhor usar essa opção para incluir colunas explicitamente, o pipeline excluirá automaticamente as colunas que forem adicionadas à origem no futuro. Para ingerir as colunas futuras, você precisará adicioná-las à lista. -
exclude_columns: opcionalmente, especifique uma lista de colunas a serem excluídas da ingestão. Se o senhor usar essa opção para excluir explicitamente as colunas, o pipeline incluirá automaticamente as colunas que forem adicionadas à origem no futuro. Para ingerir as colunas futuras, você precisará adicioná-las à lista.Para obter mais informações, consulte Enable história acompanhamento (SCD type 2).
-
Clique em Executar tudo .
O senhor pode usar as seguintes propriedades de configuração de tabela na definição do pipeline para selecionar ou desmarcar colunas específicas para ingestão:
include_columns: opcionalmente, especifique uma lista de colunas a serem incluídas para ingestão. Se o senhor usar essa opção para incluir colunas explicitamente, o pipeline excluirá automaticamente as colunas que forem adicionadas à origem no futuro. Para ingerir as colunas futuras, você precisará adicioná-las à lista.exclude_columns: opcionalmente, especifique uma lista de colunas a serem excluídas da ingestão. Se o senhor usar essa opção para excluir explicitamente as colunas, o pipeline incluirá automaticamente as colunas que forem adicionadas à origem no futuro. Para ingerir as colunas futuras, você precisará adicioná-las à lista.
Para criar o pipeline:
databricks pipelines create --json "<pipeline definition or json file path>"
Para editar o pipeline:
databricks pipelines update --json "<pipeline definition or json file path>"
Para obter a definição do pipeline:
databricks pipelines get "<pipeline-id>"
Para excluir o pipeline:
databricks pipelines delete "<pipeline-id>"
Para obter mais informações, execute:
databricks pipelines --help
databricks pipelines <create|update|get|delete|...> --help
Exemplo de definição de pipeline JSON:
"ingestion_definition": {
"connection_name": "<connection-name>",
"objects": [
{
"table": {
"source_schema": "<source-schema>",
"source_table": "<source-table>",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"table_configuration": {
"scd_type": "SCD_TYPE_2",
"include_columns": ["<column-a>", "<column-b>", "<column-c>"]
}
}
}
]
}