Gegevens opnemen uit Salesforce
Belangrijk
LakeFlow Connect bevindt zich in beperkte openbare preview. Neem contact op met uw Databricks-accountteam om deel te nemen aan de preview.
In dit artikel wordt beschreven hoe u gegevens uit Salesforce opneemt en laadt in Azure Databricks met behulp van LakeFlow Connect. De resulterende opnamepijplijn wordt beheerd door Unity Catalog en wordt mogelijk gemaakt door serverloze compute en Delta Live Tables.
De Salesforce-opnameconnector ondersteunt de volgende bron:
- Salesforce Sales Cloud
Voordat u begint
Als u een opnamepijplijn wilt maken, moet u voldoen aan de volgende vereisten:
Uw werkruimte is ingeschakeld voor Unity Catalog.
Serverloze berekening is ingeschakeld voor notebooks, werkstromen en Delta Live Tables. Zie Serverloze berekening inschakelen.
Een verbinding maken: u hebt
CREATE CONNECTION
in de metastore.Een bestaande verbinding gebruiken: u hebt
USE CONNECTION
ofALL PRIVILEGES
op het verbindingsobject.USE CATALOG
op doel catalog.USE SCHEMA
enCREATE TABLE
op een bestaande schema ofCREATE SCHEMA
op het beoogde catalog.(Aanbevolen) Maak een Salesforce-gebruiker die Databricks kan gebruiken om gegevens op te halen. Zorg ervoor dat de gebruiker API-toegang heeft en toegang heeft tot alle objecten die u wilt opnemen.
Een Salesforce-verbinding maken
Vereiste machtigingen:CREATE CONNECTION
in de metastore. Neem contact op met een metastore-beheerder om dit te grant.
Als u een opnamepijplijn wilt maken met behulp van een bestaande verbinding, gaat u verder met de volgende sectie. U hebt de verbinding nodig USE CONNECTION
of ALL PRIVILEGES
de verbinding.
Ga als volgt te werk om een Salesforce-verbinding te maken:
Klik in de Azure Databricks-werkruimte op Catalog> Externe locaties >Connections> Verbinding maken.
Geef voor verbindingsnaam een unieke naam op voor de Salesforce-verbinding.
Klik voor verbindingstype op Salesforce.
Als u gegevens opneemt vanuit een Salesforce-sandboxaccount, setis sandbox- voor
true
.Klik op Aanmelden met Salesforce.
Als u gegevens opneemt vanuit een Salesforce-sandbox, klikt u op Aangepast domein gebruiken. Geef de sandbox-URL op en ga vervolgens verder met aanmelden. Databricks raadt u aan om u aan te melden als een Salesforce-gebruiker die is toegewezen aan Databricks-opname.
Nadat u bent teruggekomen naar de pagina Verbinding maken , klikt u op Maken.
Een opnamepijplijn maken
Vereiste machtigingen:USE CONNECTION
of ALL PRIVILEGES
voor een verbinding.
In deze stap wordt beschreven hoe u de opnamepijplijn maakt. Elke opgenomen table komt overeen met een streaming-table met dezelfde naam, maar volledig in kleine letters, in de bestemming, tenzij u de naam expliciet wijzigt.
Databricks-gebruikersinterface
Klik in de zijbalk van de Azure Databricks-werkruimte op Gegevensopname.
Klik op de pagina Gegevens toevoegen onder Databricks-connectors op Salesforce.
De wizard Salesforce-opname wordt geopend.
Voer op de pagina Pijplijn van de wizard een unieke naam in voor de opnamepijplijn.
In de vervolgkeuzelijst Bestemming catalog, select een catalog. Ingenomen gegevens en gebeurtenislogboeken zullen naar deze catalogworden geschreven.
Select de Unity Catalog-verbinding waarin de credentials wordt opgeslagen die nodig is voor toegang tot Salesforce-gegevens.
Als er geen Salesforce-connectionsis, klik op Verbinding creëren. U moet de
CREATE CONNECTION
bevoegdheid hebben voor de metastore.Klik op Pijplijn maken en ga door.
Klik op de pagina Bronselect de Salesforce-tables die u wilt opnemen in Databricks en klik vervolgens op Volgende.
Als u een schemaselect, schrijft de Salesforce-invoegconnector alle bestaande en toekomstige tables in de bron-schema in het door Unity Catalog beheerde tables.
Op de pagina Bestemmingselect u de Unity-Catalogcatalog en schema om naar te schrijven.
Als u geen bestaande schemawilt gebruiken, klikt u op schemamaken. U moet de
USE CATALOG
enCREATE SCHEMA
bevoegdheden hebben voor de bovenliggende catalog.Klik op Pijplijn opslaan en ga door.
Klik op de pagina Instellingen op Planning maken. Set de frequentie naar refresh de bestemming tables.
Optioneel set e-mailmeldingen voor geslaagde of mislukte pijplijnbewerkingen.
Klik op Opslaan en pijplijn uitvoeren.
Databricks Asset Bundles
In dit tabblad wordt beschreven hoe u een opnamepijplijn implementeert met behulp van Databricks Asset Bundles (DABs). Bundels kunnen YAML-definities van taken en taken bevatten, worden beheerd met behulp van de Databricks CLI en kunnen worden gedeeld en uitgevoerd in verschillende doelwerkruimten (zoals ontwikkeling, fasering en productie). Zie Databricks Asset Bundles voor meer informatie.
Maak een nieuwe bundel met behulp van de Databricks CLI:
databricks bundle init
Voeg twee nieuwe resourcebestanden toe aan de bundel:
- Een pijplijndefinitiebestand (
resources/sfdc_pipeline.yml
). - Een werkstroombestand waarmee de frequentie van gegevensopname (
resources/sfdc_job.yml
) wordt gecontroleerd.
Hier volgt een voorbeeldbestand
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"
Hier volgt een voorbeeldbestand
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}
- Een pijplijndefinitiebestand (
Implementeer de pijplijn met behulp van de Databricks CLI:
databricks bundle deploy
Databricks-CLI
De pijplijn maken:
databricks pipelines create --json "<pipeline-definition | json-file-path>"
Om de pijplijn te update:
databricks pipelines update --json "<<pipeline-definition | json-file-path>"
De definitie van de pijplijn get:
databricks pipelines get "<pipeline-id>"
De pijplijn verwijderen:
databricks pipelines delete "<pipeline-id>"
Voor meer informatie kunt u het volgende uitvoeren:
databricks pipelines --help
databricks pipelines <create|update|get|delete|...> --help
Start, plan en set meldingen voor uw pijplijn.
Nadat de pijplijn is gemaakt, gaat u opnieuw naar de Databricks-werkruimte en klikt u vervolgens op Delta Live-Tables.
De nieuwe pijplijn wordt weergegeven in de pijplijn list.
Klik op de naam van de pijplijn om de details van de pijplijn weer te geven.
Voer de pijplijn uit op de pagina Met details van de pijplijn door op Start te klikken. U kunt de pijplijn plannen door op Planning te klikken.
Om waarschuwingen in de pijplijn set toe te voegen, klikt u op Planning, vervolgens op Meer optiesen voegt u een melding toe.
Nadat de gegevensverwerking is voltooid, kunt u een query uitvoeren op uw tables.
Notitie
Wanneer de pijplijn wordt uitgevoerd, ziet u mogelijk twee bronnen met views bij een bepaalde table. Eén weergave bevat de momentopnamen voor formulevelden. De andere weergave bevat de incrementele gegevens die worden opgehaald voor niet-formulevelden. Deze views worden toegevoegd aan de bestemming table.