Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie ein Scala JAR mit Databricks Asset Bundles erstellen, bereitstellen und ausführen. Informationen zu Bundles finden Sie unter Was sind Databricks Asset Bundles?.
Beispielkonfiguration, die einen Java JAR erstellt und in den Unity-Katalog hochlädt, finden Sie unter "Bundle", das eine JAR-Datei in den Unity-Katalog hochlädt.
Anforderungen
- Databricks CLI Version 0.218.0 oder höher, und die Authentifizierung ist konfiguriert. Führen Sie den Befehl
databricks -v
aus, um zu überprüfen, welche Version der Databricks-CLI installiert ist. Informationen zum Installieren der Databricks CLI finden Sie unter Installieren oder Aktualisieren der Databricks CLI. Informationen zum Konfigurieren der Authentifizierung finden Sie unter Konfigurieren des Zugriffs auf Ihren Arbeitsbereich. - Sie müssen über ein Unity Catalog-Volume in Databricks verfügen, in dem Sie die Buildartefakte speichern möchten, und Berechtigungen zum Hochladen des JAR auf einen angegebenen Volumepfad. Weitere Informationen finden Sie unter Erstellen und Verwalten von Volumes.
Schritt 1: Erstellen des Bündels
Erstellen Sie zuerst das Bundle mit dem Befehl "init" und der Vorlage für das Scala-Projektbundle. Die Scala JAR-Bündelvorlage erstellt ein Bündel, das einen JAR erstellt, in das angegebene Volume hochlädt und einen Auftrag mit einer Spark-Aufgabe mit dem JAR definiert, der auf einem angegebenen Cluster ausgeführt wird. Die Scala in der Projektvorlage definiert eine UDF, die eine einfache Transformation auf ein Beispiel-DataFrame anwendet und die Ergebnisse ausgibt. Die Quelle für die Vorlage befindet sich im Bundle-Beispiel-Repository.
Führen Sie den folgenden Befehl in einem Terminalfenster auf Ihrem lokalen Entwicklungscomputer aus. Sie werden zur Eingabe eines Werts für einige erforderliche Felder aufgefordert.
databricks bundle init --template-dir contrib/templates/scala-job https://github.com/databricks/bundle-examples
Für einen Namen für das Projekt geben Sie
my_scala_project
ein. Dadurch wird der Name des Stammverzeichnisses für dieses Bündel bestimmt. Dieses Stammverzeichnis wird in Ihrem aktuellen Arbeitsverzeichnis erstellt.Geben Sie für den Volumezielpfad den Pfad der Unity Catalog-Volumes in Databricks an, in dem das Paketverzeichnis erstellt werden soll, das die JAR-Datei und andere Artefakte enthält, z. B.
/Volumes/my-catalog/my-schema/bundle-volumes
.Hinweis
Je nach Ihren Arbeitsbereichsberechtigungen muss die administrierende Person möglicherweise den von Ihnen angegebenen JAR-Pfad für Volumes auf die Positivliste setzen. Weitere Informationen finden Sie unter Setzen von Bibliotheken und Inititalisierungsskripts auf Computeressourcen im Standardzugriffsmodus (ehemals freigegebener Zugriffsmodus) auf die Positivliste.
Schritt 2: Erkunden des Bundles
Um die von der Vorlage generierten Dateien anzuzeigen, wechseln Sie zum Stammverzeichnis Ihres neu erstellten Bundles, und öffnen Sie dieses Verzeichnis mit Ihrer bevorzugten IDE. Von besonderem Interesse sind die folgenden Dateien:
-
databricks.yml
: Diese Datei gibt den programmgesteuerten Namen des Bundles an, enthält einen Verweis auf die Auftragsdefinition und gibt Einstellungen für den Zielarbeitsbereich an. -
resources/my_scala_project.job.yml
: Diese Datei gibt die JAR-Aufgaben- und Clustereinstellungen des Auftrags an. -
src/
: Dieses Verzeichnis enthält die Quelldateien für das Scala-Projekt. -
build.sbt
: Diese Datei enthält wichtige Build- und abhängige Bibliothekseinstellungen. -
README.md
: Diese Datei enthält die ersten Schritte sowie lokale Build-Anleitungen und -Einstellungen.
Schritt 3: Überprüfen der Paketkonfigurationsdatei des Projekts
Überprüfen Sie als Nächstes, ob die Bundlekonfiguration mit dem Befehl zum Überprüfen des Bundles gültig ist.
Führen Sie im Stammverzeichnis den Befehl Databricks CLI
bundle validate
aus. Dies überprüft unter anderem, ob das in der Konfigurationsdatei angegebene Volume im Arbeitsbereich vorhanden ist.databricks bundle validate
Wenn eine Zusammenfassung der Bundlekonfiguration zurückgegeben wird, war die Prüfung erfolgreich. Wenn Fehler zurückgegeben werden, beheben Sie die Fehler, und wiederholen Sie diesen Schritt.
Wenn Sie nach diesem Schritt Änderungen an Ihrem Bündel vornehmen, wiederholen Sie diesen Schritt, um zu überprüfen, ob ihre Bundlekonfiguration noch gültig ist.
Schritt 4: Bereitstellen des lokalen Projekts im Remotearbeitsbereich
Stellen Sie nun das Bündel mithilfe des Bereitstellungsbefehls des Bundles in Ihrem Azure Databricks-Remotearbeitsbereich bereit. In diesem Schritt wird die JAR-Datei erstellt und auf das angegebene Volume hochgeladen.
Führen Sie den Befehl Databricks CLI
bundle deploy
aus:databricks bundle deploy -t dev
So überprüfen Sie, ob die lokal integrierte JAR-Datei bereitgestellt wurde:
- Klicken Sie in der Randleiste Ihres Azure Databricks-Arbeitsbereichs auf Katalog-Explorer.
- Navigieren Sie zum Volumezielpfad, den Sie beim Initialisieren des Pakets angegeben haben. Die JAR-Datei sollte sich im folgenden Ordner innerhalb dieses Pfads befinden:
/my_scala_project/dev/<user-name>/.internal/
.
Um zu überprüfen, ob der Job erstellt wurde:
- Klicken Sie in der Randleiste Ihres Azure Databricks-Arbeitsbereichs auf Aufträge und Pipelines.
- Wählen Sie optional die Filter "Jobs " und "Owned by me" aus .
- Klicken Sie auf [dev
<your-username>
]my_scala_project
. - Klicken Sie auf die Registerkarte Aufgaben.
Es sollte eine Aufgabe geben: main_task.
Wenn Sie nach diesem Schritt Änderungen am Bündel vornehmen, wiederholen Sie die Überprüfungs- und Bereitstellungsschritte.
Schritt 5: Ausführen des bereitgestellten Projekts
Führen Sie schließlich den Azure Databricks-Auftrag mit dem Befehl "Bundle ausführen" aus.
Führen Sie im Stammverzeichnis den Befehl Databricks CLI
bundle run
aus, und geben Sie den Namen des Auftrags in der Definitionsdateimy_scala_project.job.yml
an:databricks bundle run -t dev my_scala_project
Kopieren Sie den Wert von
Run URL
, der in Ihrem Terminal angezeigt wird, und fügen Sie ihn in Ihren Webbrowser ein, um Ihren Azure Databricks-Arbeitsbereich zu öffnen.Klicken Sie auf Ihren Azure Databricks-Arbeitsbereich, nachdem die Aufgabe erfolgreich abgeschlossen wurde und eine grüne Titelleiste anzeigt, und klicken Sie auf die main_task-Aufgabe, um die Ergebnisse anzuzeigen.