Ingerir dados do Salesforce
Prévia
O LakeFlow Connect está em um Public Preview fechado. Para participar da pré-visualização, entre em contato com a equipe do Databricks account .
Este artigo descreve como ingerir dados do Salesforce e carregá-los em Databricks usando o LakeFlow Connect. A ingestão resultante pipeline é governada por Unity Catalog e é alimentada por serverless compute e Delta Live Tables.
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 Notebook, fluxo de trabalho e Delta Live Tables. Consulte Ativar serverless compute .
Para criar uma conexão: Você tem
CREATE CONNECTION
na metastore.Para usar uma conexão existente: Você tem
USE CONNECTION
ouALL PRIVILEGES
no objeto de conexão.USE CATALOG
no catálogo de destino.USE SCHEMA
eCREATE TABLE
em um esquema existente ouCREATE SCHEMA
no catálogo de destino.(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.
Criar uma conexão com o Salesforce
Permissões necessárias: CREATE CONNECTION
no metastore. Entre em contato com um administrador do 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.
Para Connection name (Nome da conexão), especifique um nome exclusivo para a conexão do Salesforce.
Para 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 Create Connection (Criar conexão ), clique em Create (Criar).
Criar um pipeline de ingestão
Permissões necessárias: USE CONNECTION
ou ALL PRIVILEGES
em uma conexão.
Este passo descreve como criar a ingestão pipeline. 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.
Na barra lateral do site Databricks workspace, clique em ingestão de dados.
Na página Adicionar dados, em Conectores do Databricks, clique em Salesforce.
O assistente de ingestão do Salesforce é aberto.
Na página do pipeline do assistente, digite um nome exclusivo para a ingestão pipeline.
No catálogo de destino dropdown, selecione um catálogo. Os dados ingeridos e o evento logs serão gravados nesse catálogo.
Selecione a conexão do Unity Catalog que armazena as credenciais necessárias para acessar os dados do Salesforce.
Se não houver conexões com o Salesforce, clique em Criar conexão. Você deve ter o privilégio
CREATE CONNECTION
na metastore.Clique em Create pipeline (Criar pipeline) e continue.
Na página Source (Origem), selecione as tabelas do Salesforce a serem ingeridas na Databricks e clique em Next (Avançar).
Se o senhor selecionar um esquema, o conector de ingestão do Salesforce gravará todas as tabelas existentes e futuras no esquema de origem em Unity Catalog gerenciar tabelas.
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 os privilégios
USE CATALOG
eCREATE SCHEMA
no catálogo principal.Clique em Save pipeline (Salvar pipeline) e continue.
Na página Settings (Configurações ), clique em Create programar. Defina a frequência para refresh as tabelas de destino.
Opcionalmente, defina as notificações do site email para o sucesso ou fracasso das operações do pipeline.
Clique em Save e execute pipeline.
Este tab descreve como implantar uma ingestão pipeline usando Databricks pacotes ativos (DABs). Os bundles podem conter definições YAML de Job e tarefa, são gerenciados usando o Databricks CLI e podem ser compartilhados e executados em diferentes espaços de trabalho de destino (como desenvolvimento, preparação e produção). Para obter mais informações, consulte Databricks ativo Bundles.
Crie um novo pacote usando a CLI do Databricks:
databricks bundle init
Adicione dois novos arquivos de recurso ao pacote:
Um arquivo de definição de pipeline (
resources/sfdc_pipeline.yml
).Um arquivo de fluxo de trabalho que controla a frequência da ingestão de dados (
resources/sfdc_job.yml
).
Veja a seguir um exemplo de arquivo
resources/sfdc_pipeline.yml
:variables: dest_catalog: default: main dest_schema: default: ingest_destination_schema # The main pipeline for sfdc_dab resources: pipelines: pipeline_sfdc: name: salesforce_pipeline 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"
Veja a seguir um exemplo de arquivo
resources/sfdc_job.yml
:resources: 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}
implantado o pipeline usando o Databricks CLI:
databricks bundle deploy
Para criar o pipeline:
databricks pipelines create --json "<pipeline-definition | json-file-path>"
Para atualizar o pipeline:
databricks pipelines update --json "<<pipeline-definition | 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, o senhor pode executar:
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 Delta Live Tables.
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, execute o pipeline clicando em começar. O senhor pode programar o pipeline clicando em programar.
Para definir o alerta no site pipeline, clique em programar, clique em Mais opções e, em seguida, adicione uma notificação.
Após a conclusão da ingestão, o senhor pode consultar suas tabelas.
Observaçã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.