[Ultimate]{class="badge positive"}

Databricks

AVAILABILITY
Die Databricks ist im Quellkatalog für Benutzende verfügbar, die Real-Time CDP Ultimate erworben haben.

Databricks ist eine Cloud-basierte Plattform für Datenanalyse, maschinelles Lernen und KI. Sie können Databricks verwenden, um eine ganzheitliche Umgebung für das Erstellen, Bereitstellen und Verwalten von Datenlösungen im benötigten Umfang zu integrieren und bereitzustellen.

Verwenden Sie die Databricks, um Ihr Konto zu verbinden und Ihre Databricks Daten in Adobe Experience Platform aufzunehmen.

Voraussetzungen

Führen Sie die erforderlichen Schritte aus, um Ihr Databricks-Konto erfolgreich mit Experience Platform zu verbinden.

Abrufen Ihrer Container-Anmeldeinformationen

Rufen Sie Ihre Experience Platform Azure Blob Storage-Anmeldeinformationen ab, damit Ihr Databricks-Konto später darauf zugreifen kann.

Um Ihre Anmeldeinformationen abzurufen, stellen Sie eine GET-Anfrage an den /credentials-Endpunkt der Connectors-API.

API-Format

GET /data/foundation/connectors/landingzone/credentials?type=dlz_databricks_source

Anfrage

Mit der folgenden Anfrage werden die Anmeldeinformationen für Ihr Experience Platform-Azure Blob Storage abgerufen.

Beispiel für eine Anfrage anzeigen
code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/connectors/landingzone/credentials?type=dlz_databricks_source' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \

Antwort

Bei einer erfolgreichen Antwort werden Ihre Anmeldeinformationen (containerName, SASToken, storageAccountName) zur späteren Verwendung in Apache Spark Konfiguration für Databricks bereitgestellt.

Beispiel für eine Anfrageantwort
code language-json
{
    "containerName": "dlz-databricks-container",
    "SASToken": "sv=2020-10-02&si=dlz-b1f4060b-6bbd-4043-9bd9-a5f5be72de30&sr=c&sp=racwdlm&sig=zVQfmuElZJzOKkUk8z5lChrJ3YQUE2h6EShDZOsVeMc%3D",
    "storageAccountName": "sndbxdtlndga8m7ajbvgc64k",
    "SASUri": "https://sndbxdtlndga8m7ajbvgc64k.blob.core.windows.net/dlz-databricks-container?sv=2020-10-02&si=dlz-b1f4060b-6bbd-4043-9bd9-a5f5be72de30&sr=c&sp=racwdlm&sig=zVQfmuElZJzOKkUk8z5lChrJ3YQUE2h6EShDZOsVeMc%3D",
    "expiryDate": "2025-07-05"
}
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
Eigenschaft Beschreibung
containerName Der Name Ihres Azure Blob Storage. Sie verwenden diesen Wert später, wenn Sie die Apache Spark für Databricks fertig stellen.
SASToken Das Shared Access Signature Token für Ihre Azure Blob Storage. Diese Zeichenfolge enthält alle Informationen, die zum Autorisieren einer Anfrage erforderlich sind.
storageAccountName Der Name Ihres Speicherkontos.
SASUri Der Shared Access Signature-URI für Ihre Azure Blob Storage. Diese Zeichenfolge ist eine Kombination aus dem URI zum Azure Blob Storage, für den Sie authentifiziert werden, und dem entsprechenden SAS-Token.
expiryDate Das Datum, an dem Ihr SAS-Token abläuft. Sie müssen Ihr Token vor dem Ablaufdatum aktualisieren, um es weiterhin in Ihrer Anwendung zum Hochladen von Daten in die Azure Blob Storage verwenden zu können. Wenn Sie Ihr Token nicht vor dem angegebenen Ablaufdatum manuell aktualisieren, wird es automatisch aktualisiert und ein neues Token bereitgestellt, wenn der Aufruf zum Abrufen der Anmeldeinformationen ausgeführt wird.

Aktualisieren von Anmeldeinformationen

NOTE
Ihre bestehenden Anmeldedaten werden widerrufen, sobald Sie Ihre Anmeldedaten aktualisieren. Daher müssen Sie Ihre Spark-Konfigurationen bei jeder Aktualisierung Ihrer -Speicheranmeldeinformationen entsprechend aktualisieren. Andernfalls schlägt Ihr Datenfluss fehl.

Um Ihre Anmeldeinformationen zu aktualisieren, stellen Sie eine POST-Anfrage und nehmen Sie action=refresh als Abfrageparameter auf.

API-Format

POST /data/foundation/connectors/landingzone/credentials?type=dlz_databricks_source&action=refresh

Anfrage

Die folgende Anfrage aktualisiert die Anmeldeinformationen für Ihr Azure Blob Storage.

Beispiel für eine Anfrage anzeigen
code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/connectors/landingzone/credentials?type=dlz_databricks_source&action=refresh' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \

Antwort

Eine erfolgreiche Antwort gibt Ihre neuen Anmeldeinformationen zurück.

Beispiel für eine Anfrageantwort
code language-json
{
    "containerName": "dlz-databricks-container",
    "SASToken": "sv=2020-10-02&si=dlz-6e17e5d6-de18-4efc-88c7-45f37d242617&sr=c&sp=racwdlm&sig=wvA4K3fcEmqAA%2FPvcMhB%2FA8y8RLwVJ7zhdWbxvT1uFM%3D",
    "storageAccountName": "sndbxdtlndga8m7ajbvgc64k",
    "SASUri": "https://sndbxdtlndga8m7ajbvgc64k.blob.core.windows.net/dlz-databricks-container?sv=2020-10-02&si=dlz-6e17e5d6-de18-4efc-88c7-45f37d242617&sr=c&sp=racwdlm&sig=wvA4K3fcEmqAA%2FPvcMhB%2FA8y8RLwVJ7zhdWbxvT1uFM%3D",
    "expiryDate": "2025-07-20"
}

Konfigurieren des Zugriffs auf Ihre Azure Blob Storage

IMPORTANT
  • Wenn Ihr Cluster beendet wurde, startet der Service ihn während einer Flussausführung automatisch neu. Sie müssen jedoch sicherstellen, dass Ihr Cluster beim Erstellen einer Verbindung oder eines Datenflusses aktiv ist. Darüber hinaus muss Ihr Cluster aktiv sein, wenn Sie Aktionen wie Datenvorschau oder Exploration durchführen, da diese Aktionen nicht zum automatischen Neustart eines beendeten Clusters führen können.

  • Ihr Azure-Container enthält einen Ordner mit dem Namen adobe-managed-staging. Um die nahtlose Aufnahme von Daten zu gewährleisten (nicht ändern Sie diesen Ordner.

Als Nächstes müssen Sie sicherstellen, dass Ihr Databricks-Cluster Zugriff auf das Experience Platform-Azure Blob Storage hat. Dabei können Sie Azure Blob Storage als Zwischenspeicherort zum Schreiben delta lake Tabellendaten verwenden.

Um Zugriff zu gewähren, müssen Sie im Rahmen Ihrer Apache Spark-Konfiguration ein SAS-Token auf dem Databricks-Cluster konfigurieren.

Wählen Sie in Ihrer Databricks die Option Advanced options aus und geben Sie dann Folgendes in das Spark config Eingabefeld ein.

fs.azure.sas.{CONTAINER_NAME}.{STORAGE-ACCOUNT}.blob.core.windows.net {SAS-TOKEN}
Eigenschaft
Beschreibung
Container-Name
Der Name Ihres Containers. Sie können diesen Wert abrufen, indem Sie Ihre Azure Blob Storage Anmeldeinformationen abrufen.
Speicherkonto
Der Name Ihres Speicherkontos. Sie können diesen Wert abrufen, indem Sie Ihre Azure Blob Storage Anmeldeinformationen abrufen.
SAS-Token
Das Shared Access Signature Token für Ihre Azure Blob Storage. Sie können diesen Wert abrufen, indem Sie Ihre Azure Blob Storage Anmeldeinformationen abrufen.

Die Databricks-Benutzeroberfläche in Azure.

Wenn keine Informationen bereitgestellt werden, schlägt die Kopieraktivität im Flusslauf fehl und gibt den folgenden Fehler zurück:

Unable to access container '{CONTAINER_NAME}' in account '{STORAGE_ACCOUNT}.blob.core.windows.net' using anonymous credentials. No credentials found in the configuration. Public access is not permitted on this storage account.

Verwaltung des Unity-Katalogs und Cluster-Zugriffsmodus

Der DataBricks-Quell-Connector führt Lese- und Schreibvorgänge (I/O) auf Ihrem DataBricks-Cluster während der Aufnahme durch. Für diese Vorgänge sind Objektberechtigungen für den Unity-Katalog und, abhängig vom Zugriffsmodus Ihres Clusters, zusätzliche Berechtigungen auf Cluster-Ebene erforderlich. Vor dem Verbinden beide konfigurieren.

Gewähren von Berechtigungen für den Unity-Katalog

Gewähren Sie der von der Verbindung (einem Service-Prinzipal) verwendeten Identität die folgenden Berechtigungen für den Unity-Katalog für die Quellobjekte:

Privileg
Objekt
USE CATALOG
Der Katalog
USE SCHEMA
Das Schema
SELECT
Die Quelltabelle

Konfigurieren des Zugriffsmodus Ihres Clusters

Wählen Sie den von Ihrem Databricks-Cluster verwendeten Zugriffsmodus aus und schließen Sie die entsprechende Konfiguration ab.

TIP
Es wird ein dedizierter Zugriffsmodus (für einen einzelnen Benutzer). Weisen Sie den einzelnen Benutzer des Clusters dem Service-Prinzipal des Connectors zu. Die I/O-Vorgänge des Connectors werden ausschließlich über die von Ihnen gewährten Unity-Kataloge abgeschlossen, sodass keine zusätzlichen Berechtigungen auf Cluster-Ebene erforderlich sind und der gesamte Zugriff durch Unity-Katalog geregelt bleibt.

Standardzugriffsmodus (Shared Access Mode

Der standardmäßige (freigegebene) Zugriffsmodus erzwingt die Tabellenzugriffssteuerung. Zusätzlich zu den oben gewährten Unity-Katalogen erfordern die I/O-Vorgänge des Connectors die Berechtigung ANY FILE . Gewähren Sie dies dem Dienstprinzipal des Connectors:

GRANT SELECT ON ANY FILE TO `{SERVICE_PRINCIPAL}`;
GRANT MODIFY ON ANY FILE TO `{SERVICE_PRINCIPAL}`;
IMPORTANT
ANY FILE ist eine veraltete Berechtigung für den direkten Dateizugriff und wird nicht vom Unity-Katalog gesteuert. Sie hat einen breiteren Anwendungsbereich als Objektberechtigungen für das Unity-Katalog-Objekt und gewährt selbst keinen Zugriff auf Objekte des Unity-Katalogs und umgeht ihn auch nicht. (Für Unity-Katalogtabellen sind weiterhin eigene Gewährungen des UC erforderlich.) Überprüfen Sie sie mit Ihrem Sicherheits-Team. Um die Gewährung zu vermeiden, verwenden Sie stattdessen den Modus Dedizierter Zugriff .

Wenn die für den Zugriffsmodus Ihres Clusters erforderlichen Berechtigungen nicht vorhanden sind, schlägt die Aufnahme während der Ausführung fehl und es wird der folgende Fehler angezeigt:

[INSUFFICIENT_PERMISSIONS] ... on any file. SQLSTATE: 42501.

Verbinden von Databricks mit Experience Platform

Nachdem Sie die erforderlichen Schritte ausgeführt haben, können Sie nun fortfahren und Ihr Databricks-Konto mit Experience Platform verbinden:

recommendation-more-help
experience-platform-help-sources