Taken toevoegen aan taken in Databricks Asset Bundles
Dit artikel bevat voorbeelden van verschillende soorten taken die u kunt toevoegen aan Azure Databricks-taken in Databricks Asset Bundles. Bekijk wat zijn Databricks Asset Bundles?.
De meeste taaktaaktypen hebben taakspecifieke parameters onder de ondersteunde instellingen, maar u kunt ook taakparameters definiëren die worden doorgegeven aan taken. Dynamische waardeverwijzingen worden ondersteund voor taakparameters, waardoor waarden kunnen worden doorgegeven die specifiek zijn voor de taak die tussen taken wordt uitgevoerd. Zie Wat is een verwijzing naar dynamische waarden?
Notitie
U kunt taaktaakinstellingen overschrijven. Zie Taaktakeninstellingen overschrijven in Databricks Asset Bundles.
Tip
Als u snel resourceconfiguratie wilt genereren voor een bestaande taak met behulp van de Databricks CLI, kunt u de bundle generate job
opdracht gebruiken. Zie bundelopdrachten.
Notebook-taak
U gebruikt deze taak om een notebook uit te voeren.
In het volgende voorbeeld wordt een notebooktaak aan een taak toegevoegd en wordt een taakparameter met de naam my_job_run_id
ingesteld. Het pad voor de te implementeren notebook is relatief ten opzichte van het configuratiebestand waarin deze taak wordt gedeclareerd. De taak haalt het notebook op van de geïmplementeerde locatie in de Azure Databricks-werkruimte. (Weglatingstekens geven de weggelaten inhoud aan, voor beknoptheid.)
# ...
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}}"
# ...
# ...
Voor aanvullende toewijzingen die u voor deze taak kunt instellen, raadpleegt tasks > notebook_task
u de nettolading van de aanvraag van de taak maken zoals gedefinieerd in POST /api/2.1/jobs/create in de REST API-verwijzing, uitgedrukt in YAML-indeling. Zie Notebook-taak voor taken.
Python-scripttaak
U gebruikt deze taak om een Python-bestand uit te voeren.
In het volgende voorbeeld wordt een Python-scripttaak aan een taak toegevoegd. Het pad voor het te implementeren Python-bestand is relatief ten opzichte van het configuratiebestand waarin deze taak wordt gedeclareerd. De taak haalt het Python-bestand op van de geïmplementeerde locatie in de Azure Databricks-werkruimte. (Weglatingstekens geven de weggelaten inhoud aan, voor beknoptheid.)
# ...
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
# ...
# ...
Voor aanvullende toewijzingen die u voor deze taak kunt instellen, raadpleegt tasks > spark_python_task
u de nettolading van de aanvraag van de taak maken zoals gedefinieerd in POST /api/2.1/jobs/create in de REST API-verwijzing, uitgedrukt in YAML-indeling. Zie ook Python-scripttaak voor taken.
Python-wieltaak
U gebruikt deze taak om een Python-wielbestand uit te voeren.
In het volgende voorbeeld wordt een Python-wieltaak aan een taak toegevoegd. Het pad voor het Python-wielbestand dat moet worden geïmplementeerd, is relatief ten opzichte van het configuratiebestand waarin deze taak wordt gedeclareerd. Zie bibliotheekafhankelijkheden van Databricks Asset Bundles. (Weglatingstekens geven de weggelaten inhoud aan, voor beknoptheid.)
# ...
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
# ...
# ...
Voor aanvullende toewijzingen die u voor deze taak kunt instellen, raadpleegt tasks > python_wheel_task
u de nettolading van de aanvraag van de taak maken zoals gedefinieerd in POST /api/2.1/jobs/create in de REST API-verwijzing, uitgedrukt in YAML-indeling. Zie ook Een Python-wielbestand ontwikkelen met behulp van Databricks Asset Bundles en Python Wheel-taak voor taken.
JAR-taak
U gebruikt deze taak om een JAR uit te voeren. U kunt verwijzen naar lokale JAR-bibliotheken of bibliotheken in een werkruimte, een Unity Catalog-volume of een externe cloudopslaglocatie. Zie bibliotheekafhankelijkheden van Databricks Asset Bundles.
In het volgende voorbeeld wordt een JAR-taak aan een taak toegevoegd. Het pad voor de JAR is naar de opgegeven volumelocatie. (Weglatingstekens geven de weggelaten inhoud aan, voor beknoptheid.)
# ...
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
# ...
# ...
Voor aanvullende toewijzingen die u voor deze taak kunt instellen, raadpleegt tasks > spark_jar_task
u de nettolading van de aanvraag van de taak maken zoals gedefinieerd in POST /api/2.1/jobs/create in de REST API-verwijzing, uitgedrukt in YAML-indeling. Zie de JAR-taak voor taken.
SQL-bestandstaak
U gebruikt deze taak om een SQL-bestand uit te voeren dat zich in een werkruimte of een externe Git-opslagplaats bevindt.
In het volgende voorbeeld wordt een SQL-bestandstaak aan een taak toegevoegd. Deze SQL-bestandstaak maakt gebruik van het opgegeven SQL-warehouse om het opgegeven SQL-bestand uit te voeren. (Weglatingstekens geven de weggelaten inhoud aan, voor beknoptheid.)
# ...
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
# ...
# ...
Als u de id van een SQL Warehouse wilt ophalen, opent u de instellingenpagina van het SQL-magazijn en kopieert u de id tussen haakjes achter de naam van het magazijn in het veld Naam op het tabblad Overzicht .
Voor aanvullende toewijzingen die u voor deze taak kunt instellen, raadpleegt tasks > sql_task > file
u de nettolading van de aanvraag van de taak maken zoals gedefinieerd in POST /api/2.1/jobs/create in de REST API-verwijzing, uitgedrukt in YAML-indeling. Zie DE SQL-taak voor taken.
Pijplijntaak voor Delta Live Tables
U gebruikt deze taak om een Delta Live Tables-pijplijn uit te voeren. Zie Wat is Delta Live Tables?
In het volgende voorbeeld wordt een pijplijntaak voor Delta Live Tables toegevoegd aan een taak. Met deze Delta Live Tables-pijplijntaak wordt de opgegeven pijplijn uitgevoerd. (Weglatingstekens geven de weggelaten inhoud aan, voor beknoptheid.)
# ...
resources:
jobs:
my-pipeline-job:
name: my-pipeline-job
# ...
tasks:
- task_key: my-pipeline-task
pipeline_task:
pipeline_id: 11111111-1111-1111-1111-111111111111
# ...
# ...
U kunt de id van een pijplijn ophalen door de pijplijn in de werkruimte te openen en de waarde van de pijplijn-id te kopiëren op het tabblad Pijplijndetails van de pagina Instellingen van de pijplijn.
Voor aanvullende toewijzingen die u voor deze taak kunt instellen, raadpleegt tasks > pipeline_task
u de nettolading van de aanvraag van de taak maken zoals gedefinieerd in POST /api/2.1/jobs/create in de REST API-verwijzing, uitgedrukt in YAML-indeling. Zie pijplijntaak voor Delta Live Tables voor taken.
dbt-taak
U gebruikt deze taak om een of meer dbt-opdrachten uit te voeren. Zie Verbinding maken met dbt Cloud.
In het volgende voorbeeld wordt een dbt-taak aan een taak toegevoegd. Deze dbt-taak maakt gebruik van het opgegeven SQL-warehouse om de opgegeven dbt-opdrachten uit te voeren.
# ...
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"
# ...
# ...
Als u de id van een SQL Warehouse wilt ophalen, opent u de instellingenpagina van het SQL-magazijn en kopieert u de id tussen haakjes achter de naam van het magazijn in het veld Naam op het tabblad Overzicht .
Voor aanvullende toewijzingen die u voor deze taak kunt instellen, raadpleegt tasks > dbt_task
u de nettolading van de aanvraag van de taak maken zoals gedefinieerd in POST /api/2.1/jobs/create in de REST API-verwijzing, uitgedrukt in YAML-indeling. Zie dbt-taak voor taken.
Databricks Asset Bundles bevat ook een dbt-sql
projectsjabloon die een taak definieert met een dbt-taak, evenals dbt-profielen voor geïmplementeerde dbt-taken. Zie Een standaardbundelsjabloon gebruiken voor informatie over Databricks Asset Bundles-sjablonen.
Taaktaak uitvoeren
U gebruikt deze taak om een andere taak uit te voeren.
Het volgende voorbeeld bevat een taaktaak uitvoeren in de tweede taak waarmee de eerste taak wordt uitgevoerd.
# ...
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}
# ...
In dit voorbeeld wordt een vervanging gebruikt om de id van de taak op te halen die moet worden uitgevoerd. Als u de id van een taak wilt ophalen uit de gebruikersinterface, opent u de taak in de werkruimte en kopieert u de id van de taak-id op het tabblad Taakgegevens van de pagina Instellingen van de taken.
Voor aanvullende toewijzingen die u voor deze taak kunt instellen, raadpleegt tasks > run_job_task
u de nettolading van de aanvraag van de taak maken zoals gedefinieerd in POST /api/2.1/jobs/create in de REST API-verwijzing, uitgedrukt in YAML-indeling.