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.
- (Optional) Click
Add notification to set email notifications for pipeline operation success or failure, then click Save and run 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 -
Add two new resource files to the bundle:
- Um arquivo de definição de pipeline (por exemplo,
resources/veeva_vault_pipeline.yml). Consulte pipeline.ingestion_definition e Exemplos. - A job definition file that controls the frequency of data ingestion (for example,
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 this option to ingest all Veeva Vault objects into a single destination schema with one declaration.
- 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}
Common patterns
Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.
Próximos os passos
Start, schedule, and set alerts on your pipeline. See Common pipeline maintenance tasks.