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.
Diese Seite enthält Informationen zum Definieren von Auftragsaufgaben in Databricks Asset Bundles. Informationen zu Auftragsaufgaben finden Sie unter Konfigurieren und Bearbeiten von Vorgängen in Lakeflow-Aufträgen.
Wichtig
Die Felder für Aufträge git_source und Aufgaben source, die auf GIT gesetzt sind, sind für Bundles nicht empfohlen, da lokale relative Pfade eventuell nicht denselben Inhalt im Git-Repository verweisen. Bundles erwarten, dass ein bereitgestellter Auftrag die gleichen Dateien enthält wie die lokale Kopie, von der er bereitgestellt wurde.
Klonen Sie stattdessen das Repository lokal, und richten Sie Ihr Bündelprojekt in diesem Repository ein, sodass die Quelle für Aufgaben der Arbeitsbereich ist.
Aufgaben konfigurieren
Definieren Sie Aufgaben für einen Auftrag in einem Bündel im tasks Schlüssel für die Auftragsdefinition. Beispiele für die Aufgabenkonfiguration für die verfügbaren Aufgabentypen finden Sie im Abschnitt " Aufgabeneinstellungen" . Informationen zum Definieren eines Jobs in einem Bündel finden Sie unter Job.
Tipp
Um mithilfe der Databricks CLI schnell eine Ressourcenkonfiguration für einen vorhandenen Auftrag zu generieren, können Sie den bundle generate job-Befehl verwenden. Siehe Bundlebefehle.
Zum Festlegen von Vorgangswerten weisen die meisten Auftragsaufgabentypen aufgabenspezifische Parameter auf, Sie können aber auch Auftragsparameter definieren, die an Vorgänge übergeben werden. Dynamische Wertverweise werden für Auftragsparameter unterstützt, die das Übergeben von Werten ermöglichen, die für den Auftrag spezifisch sind, die zwischen Vorgängen ausgeführt werden. Vollständige Informationen zum Übergeben von Vorgangswerten nach Aufgabentyp finden Sie unter Details nach Aufgabentyp.
Sie können auch allgemeine Aufgabeneinstellungen mit Einstellungen für einen Ziel-Arbeitsbereich außer Kraft setzen. Siehe Mit Zieleinstellungen überschreiben.
Die folgende Beispielkonfiguration definiert einen Auftrag mit zwei Notizbuchaufgaben und übergibt einen Vorgangswert von der ersten Aufgabe an den zweiten Vorgang.
resources:
jobs:
pass_task_values_job:
name: pass_task_values_job
tasks:
# Output task
- task_key: output_value
notebook_task:
notebook_path: ../src/output_notebook.ipynb
# Input task
- task_key: input_value
depends_on:
- task_key: output_value
notebook_task:
notebook_path: ../src/input_notebook.ipynb
base_parameters:
received_message: '{{tasks.output_value.values.message}}'
Der output_notebook.ipynb enthält den folgenden Code, der einen Aufgabenwert für den message Schlüssel festlegt:
# Databricks notebook source
# This first task sets a simple output value.
message = "Hello from the first task"
# Set the message to be used by other tasks
dbutils.jobs.taskValues.set(key="message", value=message)
print(f"Produced message: {message}")
Der input_notebook.ipynb Wert des Parameters received_messagewird abgerufen, der in der Konfiguration für die Aufgabe festgelegt wurde:
# This notebook receives the message as a parameter.
dbutils.widgets.text("received_message", "")
received_message = dbutils.widgets.get("received_message")
print(f"Received message: {received_message}")
Aufgabeneinstellungen
Dieser Abschnitt enthält Einstellungen und Beispiele für jeden Auftragsaufgabentyp.
Reinraumnotizbuch-Aufgabe
Die Aufgabe "Notizbuch für reinen Raum" führt ein Notizbuch für saubere Räume aus, wenn das clean_rooms_notebook_task Feld vorhanden ist. Informationen zu Reinräumen finden Sie unter Was ist Azure Databricks Clean Rooms?.
Die folgenden Schlüssel sind für eine Notizbuchaufgabe für Reinräume verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter clean_rooms_notebook_task.
| Key | Typ | Description |
|---|---|---|
clean_room_name |
String | Erforderlich. Der Reinraum, zu dem das Notizbuch gehört. |
etag |
String | Prüfsumme zum Überprüfen der Aktualität der Notizbuchressource. Es kann abgerufen werden, indem der clean room assets get operation aufgerufen wird. |
object |
Map | Basisparameter, die für den Cleanroom-Notebook-Auftrag verwendet werden sollen. |
notebook_name |
String | Erforderlich. Name des ausgeführten Notizbuchs. |
Bedingungsaufgabe
Der condition_task ermöglicht es Ihnen, Ihrem Job eine Aufgabe mit if/else-bedingter Logik hinzuzufügen. Der Vorgang wertet eine Bedingung aus, die zum Steuern der Ausführung anderer Aufgaben verwendet werden kann. Die Bedingungsaufgabe erfordert keinen Cluster zur Ausführung und unterstützt keine Wiederholungen oder Benachrichtigungen. Weitere Informationen zur If/Else-Bedingungsaufgabe finden Sie unter Verzweigungslogik zu einem Auftrag mit der Aufgabe If/Else hinzufügen.
Die folgenden Schlüssel sind für eine Bedingungsaufgabe verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter condition_task.
| Key | Typ | Description |
|---|---|---|
left |
String | Erforderlich. Der linke Operand der Bedingung. Kann ein Zeichenfolgenwert, ein Auftragszustand oder ein dynamischer Wertverweis wie {{job.repair_count}} oder {{tasks.task_key.values.output}} sein. |
op |
String | Erforderlich. Der für den Vergleich zu verwendende Operator. Gültige Werte sind: EQUAL_TO, , NOT_EQUAL, GREATER_THANGREATER_THAN_OR_EQUAL, , LESS_THAN. LESS_THAN_OR_EQUAL |
right |
String | Erforderlich. Der rechte Operand der Bedingung. Kann ein Zeichenfolgenwert, ein Auftragszustand oder eine Referenz auf einen dynamischen Wert sein. |
Examples
Das folgende Beispiel enthält eine Bedingungsaufgabe und eine Notebooktask, bei der die Notebooktask nur ausgeführt wird, wenn die Anzahl der Auftragsreparaturen kleiner als 5 ist.
resources:
jobs:
my-job:
name: my-job
tasks:
- task_key: condition_task
condition_task:
op: LESS_THAN
left: '{{job.repair_count}}'
right: '5'
- task_key: notebook_task
depends_on:
- task_key: condition_task
outcome: 'true'
notebook_task:
notebook_path: ../src/notebook.ipynb
Aufgabe im Dashboard
Sie verwenden diese Aufgabe, um ein Dashboard zu aktualisieren und eine Momentaufnahme an Abonnenten zu senden. Weitere Informationen zu Dashboards in Bündeln finden Sie im Dashboard.
Die folgenden Schlüssel sind für eine Dashboardaufgabe verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter dashboard_task.
| Key | Typ | Description |
|---|---|---|
dashboard_id |
String | Erforderlich. Der Bezeichner des Dashboards, das aktualisiert werden soll. Das Dashboard muss bereits vorhanden sein. |
subscription |
Map | Die Abonnementkonfiguration zum Senden der Dashboardmomentaufnahme. Jedes Abonnementobjekt kann Einstellungen für Ziele angeben, an die Momentaufnahmen nach Abschluss der Aktualisierung des Dashboards gesendet werden sollen. Siehe Abonnement. |
warehouse_id |
String | Die Lager-ID, mit der das Dashboard für den Zeitplan ausgeführt werden soll. Wenn nicht angegeben, wird das Standardlager des Dashboards verwendet. |
Examples
Im folgenden Beispiel wird einem Auftrag eine Dashboardaufgabe hinzugefügt. Wenn der Auftrag ausgeführt wird, wird das Dashboard mit der angegebenen ID aktualisiert.
resources:
jobs:
my-dashboard-job:
name: my-dashboard-job
tasks:
- task_key: my-dashboard-task
dashboard_task:
dashboard_id: 11111111-1111-1111-1111-111111111111
dbt-Aufgabe
Sie verwenden diese Aufgabe, um einen oder mehrere DBT-Befehle auszuführen. Weitere Informationen zu dbt finden Sie unter "Herstellen einer Verbindung mit dbt Cloud".
Die folgenden Schlüssel sind für einen dbt-Vorgang verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter dbt_task.
| Key | Typ | Description |
|---|---|---|
catalog |
String | Der Name des zu verwendenden Katalogs. Der Katalogwert kann nur angegeben werden, wenn ein warehouse_id Wert angegeben ist. Für dieses Feld ist dbt-databricks >= 1.1.1 erforderlich. |
commands |
Sequence | Erforderlich. Eine Liste der dbt-Befehle, die in Sequenz ausgeführt werden sollen. Jeder Befehl muss ein vollständiger DBT-Befehl sein (z. B. dbt deps, , dbt seed, dbt run). dbt test Maximal 10 Befehle können bereitgestellt werden. |
profiles_directory |
String | Der Pfad zum Verzeichnis, das die dbt-profiles.yml Datei enthält. Kann nur angegeben werden, wenn kein warehouse_id angegeben ist. Wenn kein warehouse_id Wert angegeben ist und dieser Ordner nicht festgelegt ist, wird das Stammverzeichnis verwendet. |
project_directory |
String | Der Pfad zum Verzeichnis, das das dbt-Projekt enthält. Wenn nicht angegeben, wird standardmäßig der Stamm des Repositoryverzeichnisses oder des Arbeitsbereichsverzeichnisses verwendet. Für Projekte, die im Databricks-Arbeitsbereich gespeichert sind, muss der Pfad absolut sein und mit einem Schrägstrich beginnen. Für Projekte in einem Remote-Repository muss der Pfad relativ sein. |
schema |
String | Das schema, in das geschrieben werden soll. Dieser Parameter wird nur verwendet, wenn auch ein warehouse_id Parameter bereitgestellt wird. Wenn nicht angegeben, wird das Standardschema verwendet. |
source |
String | Der Standorttyp des dbt-Projekts. Gültige Werte sind WORKSPACE und GIT. Bei Festlegung auf WORKSPACE, wird das Projekt aus dem Databricks-Arbeitsbereich abgerufen. Wenn GIT festgelegt ist, wird das Projekt aus einem Git-Repository abgerufen, das in git_source definiert ist. Wenn leer, verwendet die Aufgabe GIT, wenn git_source definiert ist, andernfalls WORKSPACE. |
warehouse_id |
String | Die ID des SQL-Warehouses, das für die Ausführung von DBT-Befehlen verwendet werden soll. Wenn nicht angegeben, wird das Standardlager verwendet. |
Examples
Im folgenden Beispiel wird einem Auftrag eine dbt-Aufgabe hinzugefügt. Diese DBT-Aufgabe verwendet das angegebene SQL-Warehouse zum Ausführen der angegebenen DBT-Befehle.
Um die ID eines SQL-Lagerlagers abzurufen, öffnen Sie die Einstellungsseite des SQL-Lagers, und kopieren Sie dann die ID in Klammern nach dem Namen des Lagers im Feld "Name " auf der Registerkarte " Übersicht ".
Tipp
Databricks-Ressourcenpakete umfassen auch eine dbt-sql-Projektvorlage, die einen Job mit einem dbt-Task definiert, sowie dbt-Profile für bereitgestellte dbt-Jobs. Informationen zu Databricks Asset Bundles-Vorlagen finden Sie unter Standardbundlevorlagen.
resources:
jobs:
my-dbt-job:
name: my-dbt-job
tasks:
- task_key: my-dbt-task
dbt_task:
commands:
- 'dbt deps'
- 'dbt seed'
- 'dbt run'
project_directory: /Users/someone@example.com/Testing
warehouse_id: 1a111111a1111aa1
libraries:
- pypi:
package: 'dbt-databricks>=1.0.0,<2.0.0'
Für jeden Vorgang
Mit for_each_task können Sie Ihrem Task eine Aufgabe mit für jede Schleife hinzufügen. Die Aufgabe führt für jede bereitgestellte Eingabe eine geschachtelte Aufgabe aus. Weitere Informationen zum for_each_taskfinden Sie unter . Verwenden Sie eine For each-Aufgabe, um eine andere Aufgabe in einer Schleife auszuführen.
Die folgenden Schlüssel sind für ein for_each_task. Die entsprechende REST-API-Objektdefinition finden Sie unter for_each_task.
| Key | Typ | Description |
|---|---|---|
concurrency |
Integer | Die maximale Anzahl von Aufgaben iterationen, die gleichzeitig ausgeführt werden können. Wenn nicht angegeben, können alle Iterationen parallel ausgeführt werden, solange die Beschränkungen von Cluster und Arbeitsbereich eingehalten werden. |
inputs |
String | Erforderlich. Die Eingabedaten für die Schleife. Dies kann eine JSON-Zeichenfolge oder ein Verweis auf einen Arrayparameter sein. Jedes Element im Array wird an eine Iteration der geschachtelten Aufgabe übergeben. |
task |
Map | Erforderlich. Die geschachtelte Aufgabendefinition, die für jede Eingabe ausgeführt werden soll. Dieses Objekt enthält die vollständige Vorgangsspezifikation einschließlich task_key und den Vorgangstyp (z. B. notebook_task, , python_wheel_taskusw.). |
Examples
Im folgenden Beispiel wird einem Job ein for_each_task hinzugefügt, der die Werte einer anderen Aufgabe durchläuft und verarbeitet.
resources:
jobs:
my_job:
name: my_job
tasks:
- task_key: generate_countries_list
notebook_task:
notebook_path: ../src/generate_countries_list.ipnyb
- task_key: process_countries
depends_on:
- task_key: generate_countries_list
for_each_task:
inputs: '{{tasks.generate_countries_list.values.countries}}'
task:
task_key: process_countries_iteration
notebook_task:
notebook_path: ../src/process_countries_notebook.ipnyb
JAR-Aufgabe
Sie verwenden diesen Task, um eine JAR-Datei auszuführen. Sie können auf lokale JAR-Bibliotheken oder solche in einem Arbeitsbereich, einem Unity-Katalogvolume oder einem externen Cloudspeicherort verweisen. Siehe JAR-Datei (Java oder Scala).
Ausführliche Informationen zum Kompilieren und Bereitstellen von Scala JAR-Dateien auf einem Unity-Katalog-fähigen Cluster im Standardzugriffsmodus finden Sie im Lernprogramm: Ausführen von Scala-Code auf serverloser Berechnung.
Die folgenden Schlüssel sind für einen JAR-Vorgang verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter jar_task.
| Key | Typ | Description |
|---|---|---|
jar_uri |
String | Deprecated. Der URI des zu ausführenden JAR. DBFS- und Cloudspeicherpfade werden unterstützt. Dieses Feld ist veraltet und sollte nicht verwendet werden. Verwenden Sie stattdessen das libraries Feld, um JAR-Abhängigkeiten anzugeben. |
main_class_name |
String | Erforderlich. Der vollständige Name der Klasse, die die auszuführende Hauptmethode enthält. Diese Klasse muss in einer JAR-Datei enthalten sein, die als Bibliothek bereitgestellt wird. Der Code muss SparkContext.getOrCreate verwenden, um einen Spark-Kontext zu erhalten, andernfalls schlägt die Ausführung des Auftrags fehl. |
parameters |
Sequence | Die Parameter, die an die Hauptmethode übergeben werden. Verwenden Sie Vorgangsparametervariablen, um Parameter festzulegen, die Informationen zu Auftragsausführungen enthalten. |
Examples
Im folgenden Beispiel wird einem Auftrag ein JAR-Task hinzugefügt. Der Pfad für die JAR-Datei ist ein Volumespeicherort.
resources:
jobs:
my-jar-job:
name: my-jar-job
tasks:
- task_key: my-jar-task
spark_jar_task:
main_class_name: org.example.com.Main
libraries:
- jar: /Volumes/main/default/my-volume/my-project-0.1.0-SNAPSHOT.jar
Notebook-Aufgabe
Sie verwenden diesen Task, um ein Notebook auszuführen. Siehe Notebooktask für Aufträge.
Die folgenden Schlüssel sind für eine Notizbuchaufgabe verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter notebook_task.
| Key | Typ | Description |
|---|---|---|
base_parameters |
Map | Die Basisparameter, die für jede Ausführung dieses Auftrags verwendet werden sollen.
|
notebook_path |
String | Erforderlich. Der Pfad des Notizbuchs im Databricks-Arbeitsbereich oder Remote-Repository, z.B. /Users/user.name@databricks.com/notebook_to_run Für Notizbücher, die im Databricks-Arbeitsbereich gespeichert sind, muss der Pfad absolut sein und mit einem Schrägstrich beginnen. Für Notizbücher, die in einem Remote-Repository gespeichert sind, muss der Pfad relativ sein. |
source |
String | Standorttyp des Notizbuchs. Gültige Werte sind WORKSPACE und GIT. Bei Festlegung auf WORKSPACEwird das Notizbuch aus dem lokalen Databricks-Arbeitsbereich abgerufen. Bei Festlegung auf GIT wird das Notizbuch aus einem Git-Repository geholt, das in git_source definiert ist. Wenn der Wert leer ist, wird die Aufgabe GIT verwenden, wenn git_source definiert ist und andernfalls WORKSPACE. |
warehouse_id |
String | Die ID des Lagers, auf dem das Notizbuch ausgeführt werden soll. Klassische SQL-Lagerhäuser werden nicht unterstützt. Verwenden Sie stattdessen serverlose oder pro SQL-Lagerhäuser. Beachten Sie, dass SQL-Lagerhäuser nur SQL-Zellen unterstützen. Wenn das Notizbuch nicht SQL-Zellen enthält, schlägt die Ausführung fehl. Wenn Sie also Python (oder andere) in einer Zelle verwenden müssen, verwenden Sie serverlos. |
Examples
Im folgenden Beispiel wird einem Auftrag eine Notebook-Aufgabe hinzugefügt und ein Auftragsparameter mit dem Namen my_job_run_id festgelegt. Der Pfad für das bereitzustellende Notebook ist relativ zur Konfigurationsdatei, in der diese Aufgabe deklariert wird. Der Task holt das Notebook von seinem bereitgestellten Standort im Azure Databricks-Arbeitsbereich ab.
resources:
jobs:
my-notebook-job:
name: my-notebook-job
tasks:
- task_key: my-notebook-task
notebook_task:
notebook_path: ./my-notebook.ipynb
parameters:
- name: my_job_run_id
default: '{{job.run_id}}'
Pipelineaufgabe
Sie verwenden diese Aufgabe, um eine Pipeline auszuführen. Siehe Lakeflow Spark Declarative Pipelines.
Die folgenden Schlüssel sind für einen Pipelinevorgang verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter pipeline_task.
| Key | Typ | Description |
|---|---|---|
full_refresh |
Boolean | Wenn wahr, wird eine vollständige Aktualisierung der Pipeline ausgelöst, wodurch alle Datensätze in der Pipeline vollständig neu berechnet werden. Wenn "false" oder nicht angegeben wird, werden nur inkrementelle Daten verarbeitet. Einzelheiten finden Sie unter Pipelineaktualisierungssemantik. |
pipeline_id |
String | Erforderlich. Die ID der auszuführenden Pipeline. Die Pipeline muss bereits vorhanden sein. |
Examples
Im folgenden Beispiel wird einem Auftrag eine Pipelineaufgabe hinzugefügt. Diese Aufgabe führt die angegebene Pipeline aus.
Tipp
Sie können die ID einer Pipeline abrufen, indem Sie die Pipeline im Arbeitsbereich öffnen und den Pipeline-ID-Wert auf der Registerkarte "Pipelinedetails " der Einstellungsseite der Pipeline kopieren.
resources:
jobs:
my-pipeline-job:
name: my-pipeline-job
tasks:
- task_key: my-pipeline-task
pipeline_task:
pipeline_id: 11111111-1111-1111-1111-111111111111
Power BI-Aufgabe
Wichtig
Der Power BI-Aufgabentyp befindet sich in der öffentlichen Vorschau.
Verwenden Sie diese Aufgabe, um eine Aktualisierung eines Power BI-Semantikmodells (früher als Dataset bezeichnet) auszulösen.
Die folgenden Schlüssel sind für eine Power BI-Aufgabe verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter power_bi_task.
| Key | Typ | Description |
|---|---|---|
connection_resource_name |
String | Erforderlich. Der Name der Unity-Katalogverbindung zur Authentifizierung von Databricks zu Power BI. |
power_bi_model |
String | Erforderlich. Der Name des zu aktualisierenden Power BI-Semantikmodells (Datasets). |
refresh_after_update |
Boolean | Gibt an, ob das Power BI-Semantikmodell nach Abschluss des Updates aktualisiert werden soll. Der Standardwert ist „false“. |
tables |
Sequence | Eine Liste von Tabellen (jeweils als Karte), die in Power BI exportiert werden sollen. Siehe Tabellen. |
warehouse_id |
String | Die ID des SQL-Warehouses, das als Power BI-Datenquelle verwendet werden soll. |
Examples
Im folgenden Beispiel wird eine Power BI-Aufgabe definiert, die eine Verbindung angibt, das zu aktualisierende Power BI-Modell und die zu exportierende Databricks-Tabelle.
resources:
jobs:
my_job:
name: my_job
tasks:
- task_key: power_bi_task
power_bi_task:
connection_resource_name: 'connection_name'
power_bi_model:
workspace_name: 'workspace_name'
model_name: 'model_name'
storage_mode: 'DIRECT_QUERY'
authentication_method: 'OAUTH'
overwrite_existing: false
refresh_after_update: false
tables:
- catalog: 'main'
schema: 'tpch'
name: 'customers'
storage_mode: 'DIRECT_QUERY'
warehouse_id: '1a111111a1111aa1'
Python-Skriptaufgabe
Sie verwenden diesen Task, um eine Python-Datei auszuführen.
Die folgenden Schlüssel sind für eine Python-Skriptaufgabe verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter python_task.
| Key | Typ | Description |
|---|---|---|
parameters |
Sequence | Die Parameter, die an die Python-Datei übergeben werden sollen. Verwenden Sie Vorgangsparametervariablen, um Parameter festzulegen, die Informationen zu Auftragsausführungen enthalten. |
python_file |
String | Erforderlich. Der URI der python-Datei, die ausgeführt werden soll, z. B /Users/someone@example.com/my-script.py. . Für Python-Dateien, die im Databricks-Arbeitsbereich gespeichert sind, muss der Pfad absolut sein und mit /beginnen. Für Dateien, die in einem Remote-Repository gespeichert sind, muss der Pfad relativ sein. Dieses Feld unterstützt keine dynamischen Wertverweise wie Variablen. |
source |
String | Der Speicherorttyp der Python-Datei. Gültige Werte sind WORKSPACE und GIT. Bei Festlegung auf WORKSPACE, wird die Datei aus dem lokalen Databricks-Arbeitsbereich abgerufen. Bei Festlegung auf GIT, wird die Datei aus einem Git-Repository abgerufen, das in git_source. Wenn der Wert leer ist, wird die Aufgabe GIT verwenden, wenn git_source definiert ist und andernfalls WORKSPACE. |
Examples
Im folgenden Beispiel wird einem Job eine Python-Skriptaufgabe hinzugefügt. Der Pfad für die bereitzustellende Python-Datei ist relativ zur Konfigurationsdatei, in der diese Aufgabe deklariert wird. Mit dem Task wird die Python-Datei vom bereitgestellten Speicherort in den Azure Databricks-Arbeitsbereich abgerufen.
resources:
jobs:
my-python-script-job:
name: my-python-script-job
tasks:
- task_key: my-python-script-task
spark_python_task:
python_file: ./my-script.py
Python-Wheeltask
Sie verwenden diese Aufgabe, um ein Python-Rad auszuführen. Siehe Erstellen einer Python-Raddatei mit Databricks Asset Bundles.
Die folgenden Tasten sind für eine Python-Radaufgabe verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter python_wheel_task.
| Key | Typ | Description |
|---|---|---|
entry_point |
String | Erforderlich. Der benannte Einstiegspunkt, der ausgeführt werden soll: Funktion oder Klasse. Wenn es in den Metadaten des Pakets nicht vorhanden ist, führt es die Funktion aus dem Paket direkt mithilfe $packageName.$entryPoint()aus. |
named_parameters |
Map | Die benannten Parameter, die an die Python-Wheel-Task übergeben werden, auch bekannt als Schlüsselwortargumente. Ein benannter Parameter ist ein Schlüsselwertpaar mit einem Zeichenfolgenschlüssel und einem Zeichenfolgenwert. Beide parameters und named_parameters können nicht angegeben werden. Wenn named_parameters angegeben, werden die parameters Als Schlüsselwortargumente an die Einstiegspunktfunktion übergeben. |
package_name |
String | Erforderlich. Der Name des auszuführenden Python-Pakets. Alle Abhängigkeiten müssen in der Umgebung installiert werden. Dadurch werden keine Paketabhängigkeiten überprüft oder installiert. |
parameters |
Sequence | Die Parameter, die an die Python-Wheel-Aufgabe übergeben werden sollen, auch als Positionale Argumente bezeichnet. Jeder Parameter ist eine Zeichenfolge. Wenn angegeben, named_parameters darf nicht angegeben werden. |
Examples
Im folgenden Beispiel wird einem Job eine Python-Wheel-Aufgabe hinzugefügt. Der Pfad für die bereitzustellende Python-Wheel-Datei ist relativ zur Konfigurationsdatei, in der diese Aufgabe deklariert wird. Weitere Informationen finden Sie unter Bibliotheksabhängigkeiten für Databricks-Ressourcenbundles.
resources:
jobs:
my-python-wheel-job:
name: my-python-wheel-job
tasks:
- task_key: my-python-wheel-task
python_wheel_task:
entry_point: run
package_name: my_package
libraries:
- whl: ./my_package/dist/my_package-*.whl
Aufgabe ausführen
Sie verwenden diese Aufgabe, um einen anderen Auftrag auszuführen.
Die folgenden Schlüssel sind für eine Laufaufgabe verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter run_job_task.
| Key | Typ | Description |
|---|---|---|
job_id |
Integer | Erforderlich. Die ID des auszuführenden Auftrags. Der Job muss bereits im Arbeitsbereich vorhanden sein. |
job_parameters |
Map | Job-spezifische Parameter, die an den auszuführenden Job übergeben werden sollen. Auf diese Parameter kann innerhalb der Aufgaben des Auftrags zugegriffen werden. |
pipeline_params |
Map | Parameter für die Pipeline-Aufgabe. Wird nur verwendet, wenn der auszuführende Auftrag eine Pipelineaufgabe enthält. Kannst du full_refresh einfügen, um eine komplette Aktualisierung der Pipeline auszulösen. |
Examples
Das folgende Beispiel enthält einen „Auftrag ausführen“-Task im zweiten Auftrag, der den ersten Auftrag ausführt.
In diesem Beispiel wird eine Ersetzung verwendet, um die ID des auszuführenden Auftrags abzurufen. Um die ID eines Auftrags über die Benutzeroberfläche abzurufen, öffnen Sie den Auftrag im Arbeitsbereich, und kopieren Sie die ID aus dem Wert " Auftrags-ID " auf der Registerkarte " Auftragsdetails " der Einstellungsseite der Aufträge.
resources:
jobs:
my-first-job:
name: my-first-job
tasks:
- task_key: my-first-job-task
new_cluster:
spark_version: '13.3.x-scala2.12'
node_type_id: 'i3.xlarge'
num_workers: 2
notebook_task:
notebook_path: ./src/test.py
my_second_job:
name: my-second-job
tasks:
- task_key: my-second-job-task
run_job_task:
job_id: ${resources.jobs.my-first-job.id}
SQL-Aufgabe
Sie verwenden diese Aufgabe, um eine SQL-Datei, -Abfrage oder -Warnung auszuführen.
Die folgenden Schlüssel sind für eine SQL-Aufgabe verfügbar. Die entsprechende REST-API-Objektdefinition finden Sie unter sql_task.
| Key | Typ | Description |
|---|---|---|
alert |
Map | Konfiguration zum Ausführen einer SQL-Warnung. Enthält:
|
dashboard |
Map | Konfiguration zum Aktualisieren eines SQL-Dashboards. Enthält:
|
file |
Map | Konfiguration zum Ausführen einer SQL-Datei. Enthält:
|
parameters |
Map | Parameter, die für jede Ausführung dieser Aufgabe verwendet werden sollen. SQL-Abfragen und -Dateien können diese Parameter verwenden, indem sie mit der Syntax {{parameter_key}}referenziert werden. Verwenden Sie Vorgangsparametervariablen, um Parameter festzulegen, die Informationen zu Auftragsausführungen enthalten. |
query |
Map | Konfiguration zum Ausführen einer SQL-Abfrage. Enthält:
|
warehouse_id |
String | Erforderlich. Die ID des SQL-Lagerlagers, das zum Ausführen der SQL-Aufgabe verwendet werden soll. Das SQL-Lager muss bereits vorhanden sein. |
Examples
Tipp
Um die ID eines SQL-Lagerlagers abzurufen, öffnen Sie die Einstellungsseite des SQL-Lagers, und kopieren Sie dann die ID in Klammern nach dem Namen des Lagers im Feld "Name " auf der Registerkarte " Übersicht ".
Im folgenden Beispiel wird einem Auftrag eine SQL-Dateiaufgabe hinzugefügt. Diese SQL-Dateiaufgabe verwendet das angegebene SQL-Warehouse, um die angegebene SQL-Datei auszuführen.
resources:
jobs:
my-sql-file-job:
name: my-sql-file-job
tasks:
- task_key: my-sql-file-task
sql_task:
file:
path: /Users/someone@example.com/hello-world.sql
source: WORKSPACE
warehouse_id: 1a111111a1111aa1
Im folgenden Beispiel wird einem Auftrag eine SQL-Warnungsaufgabe hinzugefügt. Diese SQL-Warnungsaufgabe verwendet das angegebene SQL-Warehouse, um die angegebene SQL-Warnung zu aktualisieren.
resources:
jobs:
my-sql-file-job:
name: my-sql-alert-job
tasks:
- task_key: my-sql-alert-task
sql_task:
warehouse_id: 1a111111a1111aa1
alert:
alert_id: 11111111-1111-1111-1111-111111111111
Im folgenden Beispiel wird einem Auftrag eine SQL-Abfrageaufgabe hinzugefügt. Diese SQL-Abfrageaufgabe verwendet das angegebene SQL-Warehouse, um die angegebene SQL-Abfrage auszuführen.
resources:
jobs:
my-sql-query-job:
name: my-sql-query-job
tasks:
- task_key: my-sql-query-task
sql_task:
warehouse_id: 1a111111a1111aa1
query:
query_id: 11111111-1111-1111-1111-111111111111
Andere Aufgabeneinstellungen
Mit den folgenden Aufgabeneinstellungen können Sie Verhaltensweisen für alle Aufgaben konfigurieren. Die entsprechenden REST-API-Objektdefinitionen finden Sie unter Aufgaben.
| Key | Typ | Description |
|---|---|---|
depends_on |
Sequence | Eine optionale Liste der Vorgangsabhängigkeiten. Jedes Element enthält:
|
description |
String | Eine optionale Beschreibung für den Vorgang. |
disable_auto_optimization |
Boolean | Gibt an, ob die automatische Optimierung für diese Aufgabe deaktiviert werden soll. Wenn true, werden automatische Optimierungen wie die Ausführung adaptiver Abfragen deaktiviert. |
email_notifications |
Map | Eine optionale Liste von E-Mail-Adressen, die benachrichtigt werden, wenn eine Ausführung eines Prozesses gestartet, abgeschlossen oder fehlgeschlagen ist. Jedes Element enthält:
|
environment_key |
String | Der Schlüssel einer Umgebung, die in der Konfiguration des environments Auftrags definiert ist. Wird verwendet, um umgebungsspezifische Einstellungen anzugeben. Dieses Feld ist für Python-Skript-, Python-Rad- und DBT-Aufgaben erforderlich, wenn serverlose Compute verwendet wird. |
existing_cluster_id |
String | Die ID eines vorhandenen Clusters, der für alle Ausführung dieser Aufgabe verwendet wird. |
health |
Map | Eine optionale Spezifikation für die Integritätsüberwachung dieser Aufgabe, die einen rules Schlüssel enthält, bei dem es sich um eine Liste der zu bewertenden Integritätsregeln handelt. |
job_cluster_key |
String | Der Schlüssel eines Jobclusters, der in der Konfiguration des job_clusters Jobs definiert ist. |
libraries |
Sequence | Eine optionale Liste der Bibliotheken, die auf dem Cluster installiert werden sollen, der die Aufgabe ausführt. Jede Bibliothek wird als Map mit Schlüsseln wie jar, egg, whl, pypi, maven, cran, oder requirements spezifiziert. |
max_retries |
Integer | Eine optionale maximale Anzahl von Wiederholungen der Aufgabe, wenn sie fehlschlägt. Wenn nicht angegeben, wird der Vorgang nicht wiederholt. |
min_retry_interval_millis |
Integer | Ein optionales minimales Intervall in Millisekunden zwischen dem Start der fehlgeschlagenen Ausführung und der nachfolgenden Wiederholungsausführung. Wenn nicht angegeben, ist der Standardwert 0 (sofortiger Wiederholungsversuch). |
new_cluster |
Map | Eine Spezifikation für einen neuen Cluster, der für jede Ausführung dieser Aufgabe erstellt werden soll. Siehe Cluster. |
notification_settings |
Map | Optionale Benachrichtigungseinstellungen für diese Aufgabe. Jedes Element enthält:
|
retry_on_timeout |
Boolean | Eine optionale Richtlinie, die angibt, ob die Aufgabe wiederholt werden soll, wenn eine Zeitüberschreitung erfolgt. Wenn nicht angegeben, ist der Standardwert "falsch". |
run_if |
String | Ein optionaler Wert, der die Bedingung angibt, unter der die Aufgabe ausgeführt werden soll. Gültige Werte sind:
|
task_key |
String | Erforderlich. Ein eindeutiger Name für den Vorgang. Dieses Feld wird verwendet, um mithilfe des depends_on Felds von anderen Vorgängen auf diesen Vorgang zu verweisen. |
timeout_seconds |
Integer | Ein optionales Timeout, das auf jede Ausführung dieser Aufgabe angewendet wird. Ein Wert von 0 bedeutet kein Timeout. Wenn nicht festgelegt, wird das Standardtimeout aus der Clusterkonfiguration verwendet. |
webhook_notifications |
Map | Eine optionale Gruppe von System-Destinationen, die benachrichtigt werden sollen, wenn ein Lauf beginnt, abgeschlossen wird oder fehlschlägt. Jedes Element enthält:
|