Ingerir dados do Veeva Vault
Beta
Este recurso está em Beta. Os administradores de workspace podem controlar o acesso a este recurso na página **Pré-visualizações**. Consulte Gerenciar prévias do Databricks.
Esta página mostra como criar um pipeline de ingestão gerenciado do Veeva Vault usando o Lakeflow Connect.
Requisitos
-
Para criar um pipeline de ingestão, primeiro atenda aos seguintes requisitos:
-
Seu workspace deve estar habilitado para o Unity Catalog.
-
O compute serverless deve ser habilitado para seu workspace. Consulte requisitos do compute serverless.
-
Se planear criar uma nova conexão: É preciso ter privilégios
CREATE CONNECTIONno metastore. Consulte Gerenciar privilégios no Unity Catalog.Se o conector oferecer suporte à criação de pipeline baseada em UI, 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 pipelines usarem a criação de pipeline baseada em API ou forem usuários não administradores, um administrador deve primeiro criar a conexão no Catalog Explorer. Consulte Conectar-se a fontes de ingestão gerenciadas.
-
Se você planeja usar uma conexão existente: você deve ter os privilégios
USE CONNECTIONouALL PRIVILEGESno objeto de conexão. -
É necessário ter os privilégios
USE CATALOGno catálogo de destino. -
Você deve ter os privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou os privilégiosCREATE SCHEMAno catálogo de destino.
-
-
Para importar dados do Veeva Vault, primeiro configure a autenticação no Databricks e crie uma conexão. Consulte Configurar o Veeva Vault para autenticação M2M OAuth 2.0 e Criar uma conexão com o Veeva Vault.
Criar um pipeline de ingestão
- Databricks UI
- Declarative Automation Bundles
- Databricks notebook
-
Na barra lateral do workspace do Databricks, clique em Ingestão de Dados .
-
Na página Adicionar dados , em Conectores Databricks , clique em Veeva Vault .
-
Na página **Conexão** do assistente de ingestão, selecione a conexão que armazena suas credenciais do Veeva Vault. Se você tiver o privilégio
CREATE CONNECTIONno metastore, clique emCriar conexão para criar uma conexão com as credenciais de Configurar o Veeva Vault para autenticação M2M do OAuth 2.0.
-
Clique em Avançar .
-
Na página Configuração de ingestão , insira um nome para o pipeline.
-
Selecione um catálogo e um esquema para gravar logs de eventos. Se você tiver os privilégios
USE CATALOGeCREATE SCHEMAno catálogo, clique emCriar esquema no menu suspenso para criar um esquema.
-
Clique em **Criar pipeline e continuar**.
-
Na página Origem , selecione os objetos para ingestão.
-
Clique em Salvar e continuar.
-
Na página Destino , selecione um catálogo e um esquema para carregar dados. Se você tiver os privilégios
USE CATALOGeCREATE SCHEMAno catálogo, clique emCriar esquema no menu suspenso para criar um esquema.
-
Clique em Salvar e continuar.
-
(Opcional) Na página **Agendamentos e notificações**,
clique em ** Criar agendamento**. Defina a frequência para refresh as tabelas de destino.
A Veeva gera arquivos incrementais a cada 15 minutos. A programação de um pipeline para execução com mais frequência do que a cada 15 minutos não produz dados adicionais.
- (Opcional) Clique em
Adicionar notificação para configurar notificações por email para sucesso ou falha da operação de pipeline, então clique em Salvar e executar pipeline .
Use Pacotes de Automação Declarativa para gerenciar pipelines do Veeva Vault como código. Os pacotes podem conter definições YAML de Jobs e tarefas, são gerenciados usando a CLI do Databricks e podem ser compartilhados e em execução em diferentes workspaces de destino (como desenvolvimento, staging e produção). Para obter mais informações, consulte O que são Pacotes de Automação Declarativa?.
-
Crie um pacote usando a Databricks CLI:
Bashdatabricks bundle init -
Adicione dois novos arquivos de recurso ao pacote:
- Um arquivo de definição de pipeline (por exemplo,
resources/veeva_vault_pipeline.yml). Consulte pipeline.ingestion_definition e Exemplos. - Um arquivo de definição de job que controla a frequência da ingestão de dados (por exemplo,
resources/veeva_vault_job.yml).
- Um arquivo de definição de pipeline (por exemplo,
-
Implantar o pipeline usando a CLI do Databricks:
Bashdatabricks bundle deploy
- Importe o seguinte Notebook para o seu workspace Databricks:
Crie um pipeline de ingestão do Veeva Vault
-
Deixe as células um e dois como estão. Não modifique.
-
Altere a célula três com seus detalhes de configuração de pipeline. Veja pipeline.ingestion_definition e Exemplos.
-
Opcionalmente, configure as opções avançadas do pipeline. Consulte Padrões comuns para pipelines de ingestão gerenciados.
-
Clique em Executar tudo .
Exemplos
Objetos do Veeva Vault são expostos no esquema de origem default. Ingira objetos individuais ou o esquema inteiro.
Ingestão de objetos específicos
Use esta opção para ingerir um subconjunto específico de objetos ou para personalizar a nomenclatura de destino por objeto.
- Declarative Automation Bundles
- Databricks notebook
O arquivo de definição de pipeline a seguir ingere objetos individuais do Veeva Vault:
resources:
pipelines:
veeva_vault_pipeline:
name: veeva_vault_pipeline
catalog: 'main'
target: 'veeva_data'
ingestion_definition:
connection_name: veeva_vault_connection
objects:
- table:
source_schema: 'default'
source_table: 'opportunity__v'
destination_catalog: 'main'
destination_schema: 'veeva_data'
destination_table: 'opportunity'
- table:
source_schema: 'default'
source_table: 'account__v'
destination_catalog: 'main'
destination_schema: 'veeva_data'
destination_table: 'account'
A seguinte especificação de pipeline ingere objetos individuais do Veeva Vault:
pipeline_name = "veeva_vault_pipeline"
connection_name = "<veeva-vault-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "opportunity__v",
"destination_catalog": "main",
"destination_schema": "veeva_data",
"destination_table": "opportunity"
}
},
{
"table": {
"source_schema": "default",
"source_table": "account__v",
"destination_catalog": "main",
"destination_schema": "veeva_data",
"destination_table": "account"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Ingerir todos os objetos
Use esta opção para ingerir todos os objetos do Veeva Vault em um único esquema de destino com uma declaração.
- Declarative Automation Bundles
- Databricks notebook
O seguinte arquivo de definição de pipeline ingere todos os objetos compatíveis do Veeva Vault em um esquema de destino:
resources:
pipelines:
veeva_vault_pipeline:
name: veeva_vault_pipeline
catalog: 'main'
target: 'veeva_data'
ingestion_definition:
connection_name: veeva_vault_connection
objects:
- schema:
source_schema: 'default'
destination_catalog: 'main'
destination_schema: 'veeva_data'
A seguinte especificação de pipeline ingere todos os objetos Veeva Vault compatíveis em um esquema de destino:
pipeline_name = "veeva_vault_pipeline"
connection_name = "<veeva-vault-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"schema": {
"source_schema": "default",
"destination_catalog": "main",
"destination_schema": "veeva_data"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Arquivo de definição de Job de Pacotes de Automação Declarativa
A seguir, um exemplo de arquivo de definição de Job para uso com Pacotes de Automação Declarativa. O Job é de execução diariamente.
- Declarative Automation Bundles
resources:
jobs:
veeva_vault_job:
name: veeva_vault_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: veeva_vault_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.veeva_vault_pipeline.id}
Padrões comuns
Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.
Próximos os passos
Comece, programe e defina alertas em seu pipeline. Ver Tarefas comuns de manutenção de pipeline.