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 rekenkracht 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
in de doelcatalogus.USE SCHEMA
enCREATE TABLE
op een bestaand schema ofCREATE SCHEMA
in de doelcatalogus.(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 verlenen.
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 > Verbinding maken met externe locaties > catalogiseren>.
Geef voor verbindingsnaam een unieke naam op voor de Salesforce-verbinding.
Klik voor verbindingstype op Salesforce.
Als u gegevens opneemt vanuit een Salesforce-sandboxaccount, stelt u Is sandbox in op
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 tabel komt standaard overeen met een streamingtabel met dezelfde naam (maar alle kleine letters) in het doel, 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.
Selecteer een catalogus in de vervolgkeuzelijst Doelcatalogus . Opgenomen gegevens en gebeurtenislogboeken worden naar deze catalogus geschreven.
Selecteer de Unity Catalog-verbinding waarin de referenties worden opgeslagen die zijn vereist voor toegang tot Salesforce-gegevens.
Als er geen Salesforce-verbindingen zijn, klikt u op Verbinding maken. U moet de
CREATE CONNECTION
bevoegdheid hebben voor de metastore.Klik op Pijplijn maken en ga door.
Selecteer op de pagina Bron de Salesforce-tabellen die u wilt opnemen in Databricks en klik vervolgens op Volgende.
Als u een schema selecteert, schrijft de Salesforce-opnameconnector alle bestaande en toekomstige tabellen in het bronschema naar beheerde tabellen van Unity Catalog.
Selecteer op de doelpagina de Unity Catalog-catalogus en het schema waar u naar wilt schrijven.
Als u geen bestaand schema wilt gebruiken, klikt u op Schema maken. U moet de
USE CATALOG
enCREATE SCHEMA
bevoegdheden voor de bovenliggende catalogus hebben.Klik op Pijplijn opslaan en ga door.
Klik op de pagina Instellingen op Planning maken. Stel de frequentie in om de doeltabellen te vernieuwen.
U kunt eventueel e-mailmeldingen instellen 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>"
De pijplijn bijwerken:
databricks pipelines update --json "<<pipeline-definition | json-file-path>"
De pijplijndefinitie ophalen:
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
Waarschuwingen voor uw pijplijn starten, plannen en instellen
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 lijst met pijplijnen.
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.
Als u waarschuwingen voor de pijplijn wilt instellen, klikt u op Plannen, klikt u op Meer opties en voegt u vervolgens een melding toe.
Nadat de opname is voltooid, kunt u query's uitvoeren op uw tabellen.
Notitie
Wanneer de pijplijn wordt uitgevoerd, ziet u mogelijk twee bronweergaven voor een bepaalde tabel. Eén weergave bevat de momentopnamen voor formulevelden. De andere weergave bevat de incrementele gegevens die worden opgehaald voor niet-formulevelden. Deze weergaven worden samengevoegd in de doeltabel.