Transformieren von Daten durch Ausführen einer Azure Databricks-Aktivität

Die Azure Databricks-Aktivität in Fabric Data Factory ermöglicht es Ihnen, die folgenden Azure Databricks-Jobs zu orchestrieren:

  • Notebook
  • JAR
  • Python
  • Beruf

Dieser Artikel enthält eine schrittweise exemplarische Vorgehensweise, in der beschrieben wird, wie Sie eine Azure Databricks-Aktivität mithilfe der Data Factory-Benutzeroberfläche erstellen.

Voraussetzungen

Um zu beginnen, müssen die folgenden Voraussetzungen erfüllt sein:

Konfigurieren einer Azure Databricks-Aktivität

Führen Sie die folgenden Schritte aus, um eine Azure Databricks-Aktivität in einer Pipeline zu verwenden:

  1. Erstellen Sie eine neue Pipeline in Ihrem Arbeitsbereich.

  2. Wählen Sie "Pipelineaktivität hinzufügen" aus, und suchen Sie nach Azure Databricks.

    Screenshot der Fabric-Pipelines-Startseite und hervorgehobener Azure Databricks-Aktivität.

  3. Alternativ können Sie im Bereich Aktivitäten der Pipeline nach Azure Databricks suchen und den Dienst dann auswählen, um ihn der Pipelinecanvas hinzuzufügen.

    Screenshot: Fabric-Benutzeroberfläche mit Aktivitätenbereich und hervorgehobener Azure Databricks-Aktivität.

  4. Wählen Sie die neue Azure Databricks-Aktivität auf der Canvas aus, wenn sie noch nicht ausgewählt ist.

    Screenshot: Registerkarte „Allgemeine Einstellungen“ der Azure Databricks-Aktivität.

Um die Registerkarte Allgemein zu konfigurieren, finden Sie Informationen im Leitfaden für die Allgemeine Einstellungen.

Konfigurieren von Clustern

  1. Wählen Sie die Registerkarte Cluster aus. Anschließend können Sie eine vorhandene Azure Databricks-Verbindung auswählen oder eine neue erstellen und dann einen neuen Auftragscluster, einen vorhandenen interaktiven Cluster oder einen vorhandenen Instanzpool auswählen.

  2. Abhängig von der für den Cluster ausgewählten Option füllen Sie die entsprechenden Felder wie dargestellt aus.

    • Unter Neuer Auftragscluster und Vorhandener Instanzpool können Sie auch die Anzahl der Worker konfigurieren und Spotinstanzen aktivieren.
  3. Sie können auch andere Clustereinstellungen angeben, z. B. Clusterrichtlinie, Spark-Konfiguration, Spark-Umgebungsvariablen und benutzerdefinierte Tags, die für den Cluster erforderlich sind, mit dem Sie eine Verbindung herstellen. Databricks-Initialisierungsskripts und ein Zielpfad für Clusterprotokolle können ebenfalls in den zusätzlichen Clustereinstellungen hinzugefügt werden.

    Hinweis

    Alle erweiterten Clustereigenschaften und dynamischen Ausdrücke, die im verknüpften Dienst von Azure Data Factory Azure Databricks unterstützt werden, werden jetzt auch in der Azure Databricks-Aktivität in Microsoft Fabric auf der Benutzeroberfläche im Bereich "Zusätzliche Clusterkonfiguration" unterstützt. Da diese Eigenschaften jetzt in der Aktivitäts-UI enthalten sind, können sie mit einem Ausdruck (dynamischem Inhalt) verwendet werden, ohne dass die Erweiterte JSON-Spezifikation erforderlich ist.

    Screenshot: Registerkarte „Cluster-Einstellungen“ der Azure Databricks-Aktivität.

  4. Die Azure Databricks-Aktivität unterstützt jetzt auch die Clusterrichtlinie und den Unity Catalog Support.

    • Unter erweiterten Einstellungen können Sie die Clusterrichtlinie auswählen, damit Sie angeben können, welche Clusterkonfigurationen zulässig sind.
    • Außerdem können Sie unter erweiterten Einstellungen den Unity-Katalogzugriffsmodus für zusätzliche Sicherheit konfigurieren. Die verfügbaren Zugriffsmodustypen sind:
      • Einzelbenutzerzugriffsmodus Dieser Modus wurde für Szenarien entwickelt, in denen jeder Cluster von einem einzelnen Benutzer verwendet wird. Dadurch wird sichergestellt, dass der Datenzugriff innerhalb des Clusters nur auf diesen Benutzer beschränkt ist. Dieser Modus ist nützlich für Aufgaben, die isolations- und individuelle Datenverarbeitung erfordern.
      • Modus für gemeinsam genutzten Zugriff In diesem Modus können mehrere Benutzer auf denselben Cluster zugreifen. Es kombiniert die Data Governance des Unity-Katalogs mit den älteren Tabellen-Zugriffssteuerungslisten (Access Control Lists, ACLs). Dieser Modus ermöglicht den gemeinsamen Datenzugriff, während Governance- und Sicherheitsprotokolle beibehalten werden. Es hat jedoch bestimmte Einschränkungen, z. B. keine Unterstützung von Databricks Runtime ML, Spark-Submit-Aufträgen und spezifische Spark-APIs und UDFs.
      • Kein Zugriffsmodus Dieser Modus deaktiviert die Interaktion mit dem Unity-Katalog, was bedeutet, dass Cluster keinen Zugriff auf daten haben, die vom Unity-Katalog verwaltet werden. Dieser Modus ist für Workloads nützlich, für die die Governance-Features des Unity-Katalogs nicht erforderlich sind.

    Screenshot, der die Richtlinien-ID und die Unterstützung des Unity-Katalogs auf der Registerkarte Cluster-Einstellungen der Azure Databricks-Aktivität zeigt.

Konfigurieren von Einstellungen

Wählen Sie den Tab Einstellungen, um Ihre Verbindung zu konfigurieren, und wählen Sie den Azure Databricks-Typ, den Sie orchestrieren möchten.

Screenshot: Registerkarte „Einstellungen“ der Azure Databricks-Aktivität.

Konfigurieren von Verbindungen

Um eine Verbindung zu konfigurieren, wähle das Dropdown-Menü neben Verbindung unter dem Einstellungsreiter aus.

Screenshot, der das Verbindungs-Dropdown-Menü im Einstellungstab der Azure Databricks-Aktivität zeigt.

Wählen Sie eine bestehende Verbindung aus oder erstellen Sie eine neue, indem Sie 'Alle durchsuchen ' auswählen, um das Verbindungskonfigurations-Popup zu öffnen. Wählen Sie Azure Databricks workspace unter Neue Quellen aus.

Screenshot, der den Verbindungseinrichtungsprozess über das Pop-up

Unter den Verbindungseinstellungen setzen Sie Ihre URL,Verbindungsname, Datengateway, Authentifizierungsart und Datenschutzniveau.

Screenshot zeigt die Verbindungseinstellungen, die ausgefüllt werden müssen, um eine Verbindung einzurichten.

Für die Authentifizierungsart wählen Sie aus:

  • Persönliches Zugriffstoken (PAT)
  • Organisationskonto
  • Service Principal

Screenshot der Dropdownauswahl für den Authentifizierungstyp bei der Verbindungskonfiguration.

Orchestrieren des Typs „Notebook“ in der Azure Databricks-Aktivität:

Auf der Registerkarte Einstellungen können Sie den Radiobutton Notebook auswählen, um ein Notebook auszuführen. Sie müssen den Notizbuchpfad angeben, der auf Azure Databricks ausgeführt werden soll, optionale Basisparameter, die an das Notizbuch übergeben werden sollen, und alle zusätzlichen Bibliotheken, die auf dem Cluster installiert werden sollen, um den Auftrag auszuführen.

Screenshot mit dem Typ Notebooks der Azure Databricks-Aktivität.

Orchestrieren des Typs „JAR“ in Azure Databricks-Aktivitäten:

Auf der Registerkarte Einstellungen können Sie das Optionsfeld Jar auswählen, um eine JAR-Datei auszuführen. Sie müssen den Klassennamen angeben, der für Azure Databricks ausgeführt werden soll, optionale Basisparameter, die an den Jar übergeben werden sollen, und alle zusätzlichen Bibliotheken, die auf dem Cluster installiert werden sollen, um den Auftrag auszuführen.

Screenshot vom Jar-Typ der Azure Databricks-Aktivität.

Orchestrieren des Typs „Python“ in der Azure Databricks-Aktivität:

Auf der Registerkarte Einstellungen können Sie das Optionsfeld Python auswählen, um eine Python-Datei auszuführen. Sie müssen den Pfad in Azure Databricks zu einer python-Datei angeben, die ausgeführt werden soll, optionale Basisparameter, die übergeben werden sollen, und alle zusätzlichen Bibliotheken, die auf dem Cluster installiert werden sollen, um den Auftrag auszuführen.

Screenshot, der den Python-Typ der Azure-Databricks-Aktivität zeigt.

Orchestrieren des Jobtyps in der Azure-Databricks-Aktivität:

Unter dem Einstellungs-Tab kannst du den Job-Funkknopf auswählen, um einen Databricks-Job auszuführen. Du musst den Job anhand des Dropdown-Menüs angeben, der auf Azure Databricks ausgeführt werden soll, sowie alle optionalen Job-Parameter, die übergeben werden sollen. Sie können serverlose Aufträge mit dieser Option ausführen.

Screenshot, der den Jobtyp der Azure Databricks-Aktivität zeigt.

Unterstützte Bibliotheken für Azure Databricks-Aktivitäten

In der oben genannten Definition der Databricks-Aktivität können Sie die folgenden Bibliothekstypen angeben: JAR, EGG, WHL, Maven, PyPI, CRAN.

Weitere Informationen zu Bibliothekstypen finden Sie in der Databricks-Dokumentation.

Übergeben von Parametern zwischen Azure Databricks-Aktivitäten und -Pipelines

Sie können Parameter mithilfe der BaseParameters-Eigenschaft in databricks-Aktivitäten an Notizbücher übergeben.

Screenshot, der zeigt, wie Basisparameter in der Azure Databricks-Aktivität übergeben werden.

Manchmal müssen Sie möglicherweise Werte aus einem Notizbuch an den Dienst für den Steuerungsfluss zurückgeben oder in nachgelagerten Aktivitäten verwenden (mit einer Größenbeschränkung von 2 MB).

  1. In Ihrem Notizbuch können Sie beispielsweise dbutils.notebook.exit("returnValue") aufrufen, und der entsprechende Wert "returnValue" wird an den Dienst zurückgegeben.

  2. Sie können die Ausgabe im Dienst konsumieren, indem Sie einen Ausdruck wie @{activity('databricks activity name').output.runOutput}verwenden.

Speichern und ausführen oder die Pipeline planen

Wechseln Sie oben im Pipeline-Editor zur Registerkarte " Start ", und wählen Sie die Schaltfläche "Speichern" aus, um Ihre Pipeline zu speichern. Wählen Sie "Ausführen" aus, um sie direkt auszuführen, oder planen Sie die Ausführung zu bestimmten Zeiten oder Intervallen. Weitere Informationen zu Pipelineausführungen finden Sie unter: Pipelineausführungen planen.

Screenshot der Registerkarte

Nach dem Ausführen können Sie die Ausführung der Pipeline überwachen und den Ausführungsverlauf über die Registerkarte Ausgabe unterhalb des Zeichenbereichs anzeigen.

Überwachen von Pipelineausführungen