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 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 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.

Para usar uma conexão existente, o senhor precisa de USE CONNECTION ou ALL PRIVILEGES na conexão.

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

  1. No site Databricks workspace, clique em Catalog > External locations > Connections > Create connection.

  2. Para Connection name (Nome da conexão), especifique um nome exclusivo para a conexão do Salesforce.

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

  4. Definir o tipo de autenticação como OAuth.

  5. Se o senhor estiver ingerindo a partir de um Salesforce sandbox account, defina Is sandbox como true.

  6. Clique em fazer login com o Salesforce.

    Login no Salesforce
  7. Se estiver fazendo a ingestão a partir de uma sandbox do Salesforce, clique em Usar domínio personalizado. Forneça o URL da sandbox e, em seguida, faça o login. A Databricks recomenda fazer login como um usuário do Salesforce dedicado à ingestão da Databricks.

    Usar botão de domínio personalizado
    Digite o URL da sandbox
  8. Depois de retornar à página Create Connection (Criar conexão ), clique em Create (Criar).

Criar um pipeline de ingestão

Este passo descreve como criar a ingestão pipeline. Pelo site default, cada tabela ingerida corresponde a uma tabela de transmissão com o mesmo nome (mas tudo em letras minúsculas) no destino, a menos que o senhor a renomeie explicitamente.

Esta seção descreve como implantar uma ingestão pipeline usando Databricks ativo Bundles (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.

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

    databricks bundle init
    
  2. 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}
    
  3. 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

  1. 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.

  2. Para acessar view os detalhes de pipeline, clique no nome pipeline.

  3. Na página de detalhes do pipeline, execute o pipeline clicando em começar. O senhor pode programar o pipeline clicando em programar.

  4. Para definir o alerta no site pipeline, clique em programar, clique em Mais opções e, em seguida, adicione uma notificação.

  5. 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.