Dela via


Mata in data från Salesforce

Viktigt!

LakeFlow Connect finns i gated Public Preview. Om du vill delta i förhandsversionen kontaktar du ditt Databricks-kontoteam.

Den här artikeln beskriver hur du matar in data från Salesforce och läser in dem i Azure Databricks med LakeFlow Connect. Den resulterande inmatningspipelinen styrs av Unity Catalog och drivs av serverlös beräkning och Delta Live Tables.

Salesforce-inmatningsanslutningsappen stöder följande källa:

  • Salesforce Sales Cloud

Innan du börjar

Om du vill skapa en inmatningspipeline måste du uppfylla följande krav:

  • Arbetsytan är aktiverad för Unity Catalog.

  • Serverlös beräkning är aktiverad för notebook-filer, arbetsflöden och Delta Live Tables. Se Aktivera serverlös beräkning.

  • Så här skapar du en anslutning: Du har CREATE CONNECTION på metaarkivet.

    Så här använder du en befintlig anslutning: Du har USE CONNECTION eller ALL PRIVILEGES på anslutningsobjektet.

  • USE CATALOG i målkatalogen.

  • USE SCHEMA och CREATE TABLE på ett befintligt schema eller CREATE SCHEMA i målkatalogen.

  • (Rekommenderas) Skapa en Salesforce-användare som Databricks kan använda för att hämta data. Kontrollera att användaren har API-åtkomst och åtkomst till alla objekt som du planerar att mata in.

Skapa en Salesforce-anslutning

Behörigheter som krävs:CREATE CONNECTION i metaarkivet. Kontakta en metaarkivadministratör för att bevilja detta.

Om du vill skapa en inmatningspipeline med hjälp av en befintlig anslutning går du vidare till följande avsnitt. Du behöver USE CONNECTION eller ALL PRIVILEGES på anslutningen.

Gör följande för att skapa en Salesforce-anslutning:

  1. På Azure Databricks-arbetsytan klickar du på Katalog > Externa platser > Anslutningar > Skapa anslutning.

  2. För Anslutningsnamn anger du ett unikt namn för Salesforce-anslutningen.

  3. För Anslutningstyp klickar du på Salesforce.

  4. Om du hämtar data från ett Salesforce-sandbox-konto, ställ in angivelsen Är sandbox- till true.

  5. Klicka på Logga in med Salesforce.

    Salesforce-inloggning

  6. Om du matar in från en Salesforce-sandbox-miljö klickar du på Använd anpassad domän. Ange sandbox-URL:en och fortsätt sedan att logga in. Databricks rekommenderar att du loggar in som en Salesforce-användare som är dedikerad till Databricks-inmatning.

    Knappen Använd anpassad domän

    Ange sandbox-URL

  7. När du har återvänt till sidan Skapa anslutning klickar du på Skapa.

Skapa en inmatningspipeline

Behörigheter som krävs:USE CONNECTION eller ALL PRIVILEGES för en anslutning.

Det här steget beskriver hur du skapar inmatningspipelinen. Varje inmatad tabell motsvarar en strömmande tabell med samma namn (men alla gemener) i målmiljön som standard, såvida du inte uttryckligen byter namn på den.

Databricks-användargränssnitt

  1. I sidofältet på Azure Databricks-arbetsytan klickar du på Datainmatning.

  2. På sidan Lägg till data under Databricks-anslutningsappar klickar du på Salesforce.

    Guiden Salesforce-inmatning öppnas.

  3. På sidan Pipeline i guiden anger du ett unikt namn för inmatningspipelinen.

  4. I listrutan för Målkatalog väljer du en katalog. Inmatade data och händelseloggar skrivs till den här katalogen.

  5. Välj den Unity Catalog-anslutning som lagrar de autentiseringsuppgifter som krävs för att komma åt Salesforce-data.

    Om det inte finns några Salesforce-anslutningar klickar du på Skapa anslutning. Du måste ha behörigheten CREATE CONNECTION för metaarkivet.

  6. Klicka på Skapa pipeline och fortsätt.

  7. På sidan Source väljer du de Salesforce-tabeller som ska matas in i Databricks och klickar sedan på Nästa.

    Om du väljer ett schema skriver Salesforce-inmatningsanslutningsappen alla befintliga och framtida tabeller i källschemat till hanterade Unity Catalog-tabeller.

  8. På sidan Destination väljer du Unity Catalog-katalogen och schemat att skriva till.

    Om du inte vill använda ett befintligt schema klickar du på Skapa schema. Du måste ha privilegierna USE CATALOG och CREATE SCHEMA på den överordnade katalogen.

  9. Klicka på Spara pipeline och fortsätt.

  10. På sidan Inställningar klickar du på Skapa schema. Ange frekvensen för att uppdatera måltabellerna.

  11. Du kan också ange e-postaviseringar för lyckade eller misslyckade pipelineåtgärder.

  12. Klicka på Spara och kör pipeline.

Databricks-tillgångspaket

På den här fliken beskrivs hur du distribuerar en inmatningspipeline med Databricks Asset Bundles (DAB). Paket kan innehålla YAML-definitioner av jobb och uppgifter, hanteras med Databricks CLI och kan delas och köras på olika målarbetsytor (till exempel utveckling, mellanlagring och produktion). Mer information finns i Databricks-tillgångspaket.

  1. Skapa ett nytt paket med Databricks CLI:

    databricks bundle init
    
  2. Lägg till två nya resursfiler i paketet:

    • En pipelinedefinitionsfil (resources/sfdc_pipeline.yml).
    • En arbetsflödesfil som styr datainmatningsfrekvensen (resources/sfdc_job.yml).

    Följande är en exempelfil 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
          catalog: ${var.dest_catalog}
          schema: ${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"
    

    Följande är en exempelfil 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. Distribuera pipelinen med Databricks CLI:

    databricks bundle deploy
    

Databricks CLI

Så här skapar du pipelinen:

databricks pipelines create --json "<pipeline-definition | json-file-path>"

Så här uppdaterar du pipelinen:

databricks pipelines update --json "<<pipeline-definition | json-file-path>"

Så här hämtar du pipeline-definitionen:

databricks pipelines get "<pipeline-id>"

Så här tar du bort pipelinen:

databricks pipelines delete "<pipeline-id>"

Om du vill ha mer information kan du köra:

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

Starta, schemalägga och ange aviseringar i din pipeline

  1. När pipelinen har skapats går du tillbaka till Databricks-arbetsytan och klickar sedan på Delta Live Tables.

    Den nya pipelinen visas i pipelinelistan.

  2. Om du vill visa pipelineinformationen klickar du på pipelinenamnet.

  3. På sidan pipelineinformation kör du pipelinen genom att klicka på Start. Du kan schemalägga pipelinen genom att klicka på Schema.

  4. Om du vill ange aviseringar i pipelinen klickar du på Schemalägg, klickar på Fler alternativoch lägger sedan till ett meddelande.

  5. När inmatningen är klar kan du fråga dina tabeller.

Kommentar

När pipelinen körs kan du se två källvyer för en viss tabell. En vy innehåller ögonblicksbilder för formelfält. Den andra vyn innehåller inkrementella datahämtningar för fält som inte är formelfält. Dessa vyer är sammanslagna i måltabellen.