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.

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:

  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. Se o senhor estiver ingerindo a partir de um Salesforce sandbox account, defina Is sandbox como true.

  5. Clique em fazer login com o Salesforce.

    Login no Salesforce
  6. 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.

    Usar botão de domínio personalizado
    Digite o URL da sandbox
  7. 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.

  1. Na barra lateral do site Databricks workspace, clique em ingestão de dados.

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

    O assistente de ingestão do Salesforce é aberto.

  3. Na página do pipeline do assistente, digite um nome exclusivo para a ingestão pipeline.

  4. No catálogo de destino dropdown, selecione um catálogo. Os dados ingeridos e o evento logs serão gravados nesse catálogo.

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

  6. Clique em Create pipeline (Criar pipeline) e continue.

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

  8. 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 e CREATE SCHEMA no catálogo principal.

  9. Clique em Save pipeline (Salvar pipeline) e continue.

  10. Na página Settings (Configurações ), clique em Create programar. Defina a frequência para refresh as tabelas de destino.

  11. Opcionalmente, defina as notificações do site email para o sucesso ou fracasso das operações do pipeline.

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

  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.