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
ellerALL PRIVILEGES
på anslutningsobjektet.USE CATALOG
i målkatalogen.USE SCHEMA
ochCREATE TABLE
på ett befintligt schema ellerCREATE 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:
På Azure Databricks-arbetsytan klickar du på Katalog > Externa platser > Anslutningar > Skapa anslutning.
För Anslutningsnamn anger du ett unikt namn för Salesforce-anslutningen.
För Anslutningstyp klickar du på Salesforce.
Om du hämtar data från ett Salesforce-sandbox-konto, ställ in angivelsen Är sandbox- till
true
.Klicka på Logga in med Salesforce.
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.
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
I sidofältet på Azure Databricks-arbetsytan klickar du på Datainmatning.
På sidan Lägg till data under Databricks-anslutningsappar klickar du på Salesforce.
Guiden Salesforce-inmatning öppnas.
På sidan Pipeline i guiden anger du ett unikt namn för inmatningspipelinen.
I listrutan för Målkatalog väljer du en katalog. Inmatade data och händelseloggar skrivs till den här katalogen.
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.Klicka på Skapa pipeline och fortsätt.
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.
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
ochCREATE SCHEMA
på den överordnade katalogen.Klicka på Spara pipeline och fortsätt.
På sidan Inställningar klickar du på Skapa schema. Ange frekvensen för att uppdatera måltabellerna.
Du kan också ange e-postaviseringar för lyckade eller misslyckade pipelineåtgärder.
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.
Skapa ett nytt paket med Databricks CLI:
databricks bundle init
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}
- En pipelinedefinitionsfil (
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
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.
Om du vill visa pipelineinformationen klickar du på pipelinenamnet.
På sidan pipelineinformation kör du pipelinen genom att klicka på Start. Du kan schemalägga pipelinen genom att klicka på Schema.
Om du vill ange aviseringar i pipelinen klickar du på Schemalägg, klickar på Fler alternativoch lägger sedan till ett meddelande.
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.