Partilhar via


Ingerir dados do Salesforce

Importante

O LakeFlow Connect está em pré-visualização pública fechada. Para participar da visualização, entre em contato com sua equipe de conta Databricks.

Este artigo descreve como ingerir dados do Salesforce e carregá-los no Azure Databricks usando o LakeFlow Connect. O pipeline de ingestão resultante é governado pelo Unity Catalog e é alimentado por computação sem servidor e Delta Live Tables.

O conector de ingestão do Salesforce suporta a seguinte origem:

  • Salesforce Sales Cloud

Antes de começar

Para criar um pipeline de ingestão, você deve atender aos seguintes requisitos:

  • Seu espaço de trabalho está habilitado para o Catálogo Unity.

  • A computação sem servidor está habilitada para notebooks, fluxos de trabalho e tabelas Delta Live. Consulte Ativar computação sem servidor.

  • Para criar uma conexão: Você tem CREATE CONNECTION no metastore.

    Para usar uma conexão existente: Você tem USE CONNECTION ou ALL PRIVILEGES no objeto de conexão.

  • USE CATALOG no catálogo de destino.

  • USE SCHEMA e CREATE TABLE em um esquema existente ou CREATE 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 você planeja ingerir.

Criar uma conexão com o Salesforce

Permissões necessárias: CREATE CONNECTION no metastore. Entre em contato com um administrador da metastore para conceder isso.

Se você quiser criar um pipeline de ingestão usando uma conexão existente, pule para a seção a seguir. Você precisa USE CONNECTION ou ALL PRIVILEGES na conexão.

Para criar uma conexão com o Salesforce, faça o seguinte:

  1. No espaço de trabalho do Azure Databricks, clique em Catálogo > Locais > externos Conexões > Criar conexão.

  2. Em Nome da conexão, especifique um nome exclusivo para a conexão do Salesforce.

  3. Em Tipo de conexão, clique em Salesforce.

  4. Se você estiver ingerindo a partir de uma conta de área restrita do Salesforce, defina É área restrita como true.

  5. Clique em Fazer login com o Salesforce.

    Login do Salesforce

  6. Se você estiver ingerindo a partir de uma área restrita do Salesforce, clique em Usar domínio personalizado. Forneça o URL da área restrita e prossiga para o login. A Databricks recomenda fazer login como um usuário do Salesforce dedicado à ingestão de Databricks.

    Usar botão de domínio personalizado

    Insira o URL da área restrita

  7. 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 streaming com o mesmo nome (mas todas minúsculas) no destino por padrão, a menos que você a renomeie explicitamente.

Interface do usuário do Databricks

  1. Na barra lateral do espaço de trabalho do Azure Databricks, clique em Ingestão de Dados.

  2. Na página Adicionar dados, em Conectores Databricks, clique em Salesforce.

    O assistente de ingestão do Salesforce é aberto.

  3. Na página Pipeline do assistente, insira um nome exclusivo para o pipeline de ingestão.

  4. Na lista suspensa Catálogo de destino, selecione um catálogo. Os dados ingeridos e os logs de eventos serão gravados neste catálogo.

  5. Selecione a conexão do Catálogo Unity que armazena as credenciais necessárias para acessar os dados do Salesforce.

    Se não houver conexões do Salesforce, clique em Criar conexão. Você deve ter o CREATE CONNECTION privilégio no metastore.

  6. Clique em Criar pipeline e continue.

  7. Na página Origem, selecione as tabelas do Salesforce a serem ingeridas no Databricks e clique em Avançar.

    Se você selecionar um esquema, o conector de ingestão do Salesforce gravará todas as tabelas existentes e futuras no esquema de origem nas tabelas gerenciadas do Unity Catalog.

  8. Na página Destino, selecione o catálogo e o esquema do Catálogo Unity para gravar.

    Se não quiser usar um esquema existente, clique em Criar esquema. Você deve ter os USE CATALOG privilégios e CREATE SCHEMA no catálogo pai.

  9. Clique em Salvar pipeline e continue.

  10. Na página Configurações, clique em Criar agenda. Defina a frequência para atualizar as tabelas de destino.

  11. Opcionalmente, defina notificações por e-mail para o sucesso ou falha da operação do pipeline.

  12. Clique em Salvar e executar pipeline.

Pacotes de ativos Databricks

Esta guia descreve como implantar um pipeline de ingestão usando Databricks Asset Bundles (DABs). Os pacotes podem conter definições YAML de trabalhos e tarefas, são gerenciados usando a CLI do Databricks 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 Asset Bundles.

  1. Crie um novo pacote usando a CLI do Databricks:

    databricks bundle init
    
  2. Adicione dois novos arquivos de recursos ao pacote:

    • Um arquivo de definição de pipeline (resources/sfdc_pipeline.yml).
    • Um arquivo de fluxo de trabalho que controla a frequência de ingestão de dados (resources/sfdc_job.yml).

    Segue-se um ficheiro de exemplo 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"
    

    Segue-se um ficheiro de exemplo 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}
    
  3. Implante o pipeline usando a CLI do Databricks:

    databricks bundle deploy
    

CLI do Databricks

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 de pipeline:

databricks pipelines get "<pipeline-id>"

Para excluir o pipeline:

databricks pipelines delete "<pipeline-id>"

Para obter mais informações, você pode executar:

databricks pipelines --help
databricks pipelines <create|update|get|delete|...> --help

Iniciar, agendar e definir alertas no seu pipeline

  1. Depois que o pipeline tiver sido criado, revisite o espaço de trabalho Databricks e clique em Delta Live Tables.

    O novo pipeline aparece na lista de pipeline.

  2. Para exibir os detalhes do pipeline, clique no nome do pipeline.

  3. Na página de detalhes do pipeline, execute o pipeline clicando em Iniciar. Você pode agendar o pipeline clicando em Agendar.

  4. Para definir alertas no pipeline, clique em Agendar, clique em Mais opções e adicione uma notificação.

  5. Após a conclusão da ingestão, pode consultar as suas tabelas.

Nota

Quando o pipeline é executado, você pode ver duas exibições de código-fonte para uma determinada tabela. Uma vista contém os instantâneos para campos de fórmula. A outra vista contém os dados incrementais extraídos para campos que não sejam de fórmula. Esses modos de exibição são unidos na tabela de destino.