Ingira dados do Salesforce
Este artigo descreve como ingerir dados do Salesforce e carregá-los em Databricks usando LakeFlow Connect. A ingestão resultante pipeline é administrada por Unity Catalog e é alimentada por serverless compute e DLT.
O conector de ingestão do Salesforce é compatível com a seguinte fonte:
- Salesforce ventas Cloud
Antes de começar
Para criar um pipeline de ingestão, o senhor deve atender aos seguintes requisitos:
-
Seu workspace está habilitado para Unity Catalog.
-
O compute sem servidor está habilitado para o seu workspace. Consulte Ativar serverless compute .
-
Se você planeja criar uma conexão: Você tem privilégios
CREATE CONNECTION
na metastore.Se você planeja usar uma conexão existente: Você tem privilégios
USE CONNECTION
ouALL PRIVILEGES
no objeto de conexão. -
Você tem privilégios
USE CATALOG
no catálogo de destino. -
Você tem privilégios
USE SCHEMA
eCREATE TABLE
em um esquema existente ou privilégiosCREATE SCHEMA
no catálogo de destino.
Para ingerir a partir do Salesforce ventas Cloud, recomenda-se o seguinte:
- (Recomendado) Crie um usuário do Salesforce que o Databricks possa usar para recuperar dados. Certifique-se de que o usuário tenha acesso à API e a todos os objetos que o senhor planeja ingerir.
Crie uma conexão com o Salesforce
Permissões necessárias: CREATE CONNECTION
na metastore. Entre em contato com um administrador da metastore para conceder isso.
Se quiser criar um pipeline de ingestão usando uma conexão existente, pule para a seção a seguir. Você precisa de USE CONNECTION
ou ALL PRIVILEGES
na conexão.
Para criar uma conexão com o Salesforce, faça o seguinte:
-
No site Databricks workspace, clique em Catalog > External locations > Connections > Create connection .
-
Em Nome da conexão , especifique um nome exclusivo para a conexão do Salesforce.
-
Em Tipo de conexão , clique em Salesforce .
-
Se o senhor estiver ingerindo a partir de um Salesforce sandbox account, defina Is sandbox como
true
. -
Clique em fazer login com o Salesforce .
-
Se estiver fazendo a ingestão a partir de uma sandbox do Salesforce, clique em Usar domínio personalizado . Forneça o URL sandbox e, em seguida, prossiga para log in. A Databricks recomenda fazer login como um usuário do Salesforce dedicado à ingestão da Databricks.
-
Depois de retornar à página Criar conexão , clique em Criar .
Criar um pipeline de ingestão
Permissões necessárias: USE CONNECTION
ou ALL PRIVILEGES
em uma conexão.
Esta etapa descreve como criar o pipeline de ingestão. Cada tabela ingerida corresponde a uma tabela de transmissão com o mesmo nome (mas tudo em letras minúsculas) no destino por default, a menos que o senhor a renomeie explicitamente.
- Databricks UI
- Databricks Asset Bundles
- Databricks CLI
-
In the sidebar of the Databricks workspace, click Data Ingestion.
-
On the Add data page, under Databricks connectors, click Salesforce.
The Salesforce ingestion wizard opens.
-
On the Pipeline page of the wizard, enter a unique name for the ingestion pipeline.
-
In the Destination catalog dropdown, select a catalog. Ingested data and event logs will be written to this catalog.
-
Select the Unity Catalog connection that stores the credentials required to access Salesforce data.
If there are no Salesforce connections, click Create connection. You must have the
CREATE CONNECTION
privilege on the metastore. -
Click Create pipeline and continue.
-
On the Source page, select the Salesforce tables to ingest into Databricks, and then click Next.
If you select All tables, the Salesforce ingestion connector writes all existing and future tables in the source schema to Unity Catalog managed tables.
-
On the Destination page, select the Unity Catalog catalog and schema to write to.
If you don’t want to use an existing schema, click Create schema. You must have the
USE CATALOG
andCREATE SCHEMA
privileges on the parent catalog. -
Click Save pipeline and continue.
-
On the Settings page, click Create schedule. Set the frequency to refresh the destination tables.
-
Optionally, set email notifications for pipeline operation success or failure.
-
Click Save and run pipeline.
This tab describes how to deploy an ingestion pipeline using Databricks Asset Bundles. Bundles can contain YAML definitions of jobs and tasks, are managed using the Databricks CLI, and can be shared and run in different target workspaces (such as development, staging, and production). For more information, see Databricks Asset Bundles.
-
Create a new bundle using the Databricks CLI:
Bashdatabricks bundle init
-
Add two new resource files to the bundle:
- A pipeline definition file (
resources/sfdc_pipeline.yml
). - A workflow file that controls the frequency of data ingestion (
resources/sfdc_job.yml
).
The following is an example
resources/sfdc_pipeline.yml
file:YAMLvariables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema
# The main pipeline for sfdc_dab
resources:
pipelines:
pipeline_sfdc:
name: salesforce_pipeline
catalog: ${var.dest_catalog}
target: ${var.dest_schema}
ingestion_definition:
connection_name: <salesforce-connection>
objects:
# An array of objects to ingest from Salesforce. This example
# ingests the AccountShare, AccountPartner, and ApexPage objects.
- table:
source_schema: objects
source_table: AccountShare
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
- table:
source_schema: objects
source_table: AccountPartner
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
- table:
source_schema: objects
source_table: ApexPage
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
channel: 'preview'The following is an example
resources/sfdc_job.yml
file:YAMLresources:
jobs:
sfdc_dab_job:
name: sfdc_dab_job
trigger:
# Run this job every day, exactly one day from the last run
# See https://docs.databricks.com/api/workspace/jobs/create#trigger
periodic:
interval: 1
unit: DAYS
email_notifications:
on_failure:
- <email-address>
tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.pipeline_sfdc.id} - A pipeline definition file (
-
Deploy the pipeline using the Databricks CLI:
Bashdatabricks bundle deploy
To create the pipeline:
databricks pipelines create --json "<pipeline-definition | json-file-path>"
To update the pipeline:
databricks pipelines update --json "<<pipeline-definition | json-file-path>"
To get the pipeline definition:
databricks pipelines get "<pipeline-id>"
To delete the pipeline:
databricks pipelines delete "<pipeline-id>"
For more information, you can run:
databricks pipelines --help
databricks pipelines <create|update|get|delete|...> --help
começar, programar e definir alertas em seu pipeline
-
Depois que o pipeline tiver sido criado, acesse novamente o Databricks workspace e clique em pipeline .
O novo pipeline aparece na lista pipeline.
-
Para acessar view os detalhes de pipeline, clique no nome pipeline.
-
Na página de detalhes do pipeline, o senhor pode programar o pipeline clicando em programar .
-
Para definir notificações no pipeline, clique em Settings (Configurações ) e, em seguida, adicione uma notificação.
Na execução do pipeline, o senhor poderá ver duas visualizações de origem para uma determinada tabela. Um view contém o Snapshot para campos de fórmula. O outro view contém os pulls de dados incrementais para campos sem fórmula. Essas visualizações são unidas na tabela de destino.