Pozyskiwanie danych z usługi Salesforce
Ważne
Łącznik pozyskiwania usługi Salesforce znajduje się w publicznej wersji zapoznawczej.
W tym artykule opisano sposób pozyskiwania danych z usługi Salesforce i ładowania ich do usługi Azure Databricks przy użyciu usługi Lakeflow Connect. Wynikowy pipeline ingestowania danych jest zarządzany przez Unity Catalog i obsługiwany przez bezserwerowe przetwarzanie oraz Delta Live Tables (DLT).
Łącznik importu danych z Salesforce obsługuje następujące źródła:
- Salesforce Sales Cloud
Zanim rozpoczniesz
Aby utworzyć potok pozyskiwania, musisz spełnić następujące wymagania:
Twoje środowisko pracy ma włączoną funkcję Unity Catalog.
Przetwarzanie bezserwerowe jest włączone dla notesów, przepływów pracy i biblioteki DLT. Zobacz Włączanie przetwarzania bezserwerowego.
Aby utworzyć połączenie: masz
CREATE CONNECTION
w magazynie metadanych.Aby użyć istniejącego połączenia: masz
USE CONNECTION
lubALL PRIVILEGES
na obiekcie połączenia.USE CATALOG
w katalogu docelowym.USE SCHEMA
iCREATE TABLE
na istniejącym schemacie lubCREATE SCHEMA
w katalogu docelowym.
- (Zalecane) Utwórz użytkownika usługi Salesforce, którego usługa Databricks może używać do pobierania danych. Upewnij się, że użytkownik ma dostęp do interfejsu API i dostęp do wszystkich obiektów, które planujesz pozyskać.
Utwórz połączenie Salesforce
Wymagane uprawnienia:CREATE CONNECTION
w metastore. Skontaktuj się z administratorem magazynu metadanych, aby uzyskać to uprawnienie.
Jeśli chcesz utworzyć potok pozyskiwania przy użyciu istniejącego połączenia, przejdź do poniższej sekcji. Potrzebujesz USE CONNECTION
albo ALL PRIVILEGES
na połączeniu.
Aby utworzyć połączenie usługi Salesforce, wykonaj następujące czynności:
W obszarze roboczym usługi Azure Databricks kliknij pozycję Wykaz > lokalizacji > zewnętrznych Połączenia > Utwórz połączenie.
W polu Nazwa połączenia określ unikatową nazwę połączenia usługi Salesforce.
Dla Typu połączenia kliknij Salesforce.
Jeśli pozyskujesz z konta piaskownicy usługi Salesforce, ustaw opcję Czy piaskownica ma wartość
true
.Kliknij pozycję Zaloguj się przy użyciu usługi Salesforce.
Jeśli pozyskujesz dane z piaskownicy Salesforce, kliknij Użyj domeny niestandardowej. Podaj adres URL piaskownicy, a następnie przejdź do logowania. Usługa Databricks zaleca zalogowanie się jako użytkownik Salesforce, który jest przeznaczony do pozyskiwania danych przez Databricks.
Po powrocie do strony Tworzenie połączenia kliknij przycisk Utwórz.
Tworzenie potoku pozyskiwania
Wymagane uprawnienia:USE CONNECTION
lub ALL PRIVILEGES
na połączeniu.
W tym kroku opisano sposób tworzenia potoku pozyskiwania. Każda załadowana tabela odpowiada tabeli strumieniowej o tej samej nazwie (ale pisanej małymi literami) w miejscu docelowym, chyba że jawnie zmienisz jej nazwę.
Interfejs użytkownika usługi Databricks
Na pasku bocznym obszaru roboczego usługi Azure Databricks kliknij pozycję Pozyskiwanie danych.
Na stronie Dodawanie danych, w obszarze Łączniki usługi Databricks, kliknij pozycję Salesforce.
Zostanie otwarty kreator ładowania danych Salesforce.
Na stronie Potok kreatora wprowadź unikatową nazwę potoku pozyskiwania.
W rozwijanym menu Katalog docelowy wybierz katalog. Zdobyte dane i dzienniki zdarzeń zostaną zapisane w tym katalogu.
Wybierz połączenie Unity Catalog, które przechowuje poświadczenia wymagane do uzyskania dostępu do danych Salesforce.
Jeśli nie ma żadnych połączeń usługi Salesforce, kliknij pozycję Utwórz połączenie. Musisz mieć
CREATE CONNECTION
uprawnienia do magazynu metadanych.Kliknij Utwórz pipeline i kontynuuj.
Na stronie Źródło wybierz tabele usługi Salesforce, które mają być pozyskiwane do usługi Databricks, a następnie kliknij przycisk Dalej.
W przypadku wybrania schematu, Salesforce Ingestion Connector zapisuje wszystkie istniejące i przyszłe tabele znajdujące się w schemacie źródłowym do tabel zarządzanych w katalogu Unity.
Na stronie docelowej wybierz katalog Unity Catalog i schemat, do którego chcesz zapisać.
Jeśli nie chcesz używać istniejącego schematu, kliknij pozycję Utwórz schemat. Musisz mieć uprawnienia
USE CATALOG
i uprawnieniaCREATE SCHEMA
w katalogu nadrzędnym.Kliknij Zapisz potok i kontynuuj.
Na stronie Ustawienia kliknij pozycję Utwórz harmonogram. Ustaw częstotliwość odświeżania tabel docelowych.
Można ustawić powiadomienia e-mail dotyczące powodzenia lub niepowodzenia operacji potoku.
Kliknij Zapisz i uruchom potok.
Pakiety zasobów Databricks
Na tej karcie opisano sposób wdrażania potoku pozyskiwania przy użyciu pakietów zasobów usługi Databricks (DAB). Pakiety mogą zawierać definicje YAML zleceń i zadań, są zarządzane przy użyciu interfejsu wiersza polecenia usługi Databricks i mogą być udostępniane oraz uruchamiane w różnych docelowych obszarach roboczych (takich jak deweloperskie, testowe i produkcyjne). Aby uzyskać więcej informacji, zobacz Pakiety zasobów usługi Databricks.
Utwórz nowy pakiet przy użyciu interfejsu wiersza polecenia usługi Databricks:
databricks bundle init
Dodaj dwa nowe pliki zasobów do pakietu:
- Plik definicji potoku (
resources/sfdc_pipeline.yml
). - Plik przepływu pracy, który kontroluje częstotliwość pozyskiwania danych (
resources/sfdc_job.yml
).
Oto przykładowy
resources/sfdc_pipeline.yml
plik: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} target: ${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'
Oto przykładowy
resources/sfdc_job.yml
plik: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}
- Plik definicji potoku (
Wdróż potok przy użyciu interfejsu wiersza polecenia usługi Databricks:
databricks bundle deploy
Interfejs wiersza polecenia usługi Databricks
Aby utworzyć potok:
databricks pipelines create --json "<pipeline-definition | json-file-path>"
Aby zaktualizować pipeline:
databricks pipelines update --json "<<pipeline-definition | json-file-path>"
Aby otrzymać definicję przepływu danych:
databricks pipelines get "<pipeline-id>"
Aby usunąć pipeline:
databricks pipelines delete "<pipeline-id>"
Aby uzyskać więcej informacji, możesz uruchomić:
databricks pipelines --help
databricks pipelines <create|update|get|delete|...> --help
Rozpocznij, zaplanuj i ustaw alerty w swoim rurociągu
Po utworzeniu potoku wróć do obszaru roboczego Databricks, a następnie kliknij DLT.
Nowy rurociąg pojawia się na liście rurociągów.
Aby wyświetlić szczegóły kolejki, kliknij jej nazwę.
Na stronie szczegółów potoku uruchom potok, klikając przycisk Uruchom. Pipeline można zaplanować, klikając Harmonogram.
Aby ustawić alerty w pipeline, kliknij Harmonogram, kliknij Więcej opcji, a następnie dodaj powiadomienie.
Po zakończeniu ładowania danych można przeprowadzić zapytania do swoich tabel.
Uwaga
Po uruchomieniu potoku mogą zostać wyświetlone dwa widoki źródłowe dla danej tabeli. Jeden widok zawiera migawki dla pól formuły. Drugi widok zawiera przyrostowe pobieranie danych dla pól niefunkcjonujących jako formuły. Te widoki są przyłączone do tabeli docelowej.