Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze pagina bevat informatie over het definiëren van taaktaken in Databricks Asset Bundles. Raadpleeg Taken configureren en bewerken in Lakeflow Jobs voor informatie over taken.
Belangrijk
Het werkveld git_source en taakveld source die zijn ingesteld op GIT worden niet aanbevolen voor bundels, omdat lokale relatieve paden misschien niet naar dezelfde inhoud verwijzen in de Git-repository. Bundels verwachten dat een geïmplementeerde taak dezelfde bestanden heeft als de lokale kopie van waaruit deze is geïmplementeerd.
Kloon in plaats daarvan de opslagplaats lokaal en stel uw bundelproject in deze opslagplaats in, zodat de bron voor taken de werkruimte is.
Taken configureren
Definieer taken voor een taak in een bundel in de tasks sleutel voor de taakdefinitie. Voorbeelden van taakconfiguratie voor de beschikbare taaktypen vindt u in de sectie Taakinstellingen . Voor informatie over het definiëren van een taak in een bundel, zie taak.
Aanbeveling
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.
Als u taakwaarden wilt instellen, hebben de meeste taaktaaktypen taakspecifieke parameters, 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 Details per taaktype voor volledige informatie over het doorgeven van taakwaarden per taaktype.
U kunt ook algemene taakinstellingen overschrijven met instellingen voor een doelwerkruimte. Zie Overschrijven met doelinstellingen.
De volgende voorbeeldconfiguratie definieert een taak met twee notebooktaken en geeft een taakwaarde van de eerste taak door aan de tweede taak.
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}}'
De output_notebook.ipynb code bevat de volgende code, waarmee een taakwaarde voor de message sleutel wordt ingesteld:
# 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}")
Hiermee input_notebook.ipynb wordt de waarde opgehaald van de parameter received_message, die is ingesteld in de configuratie voor de taak:
# 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}")
Taakinstellingen
Deze sectie bevat instellingen en voorbeelden voor elk taaktype.
Notitiebloktaak schone ruimte
De taak 'notitieblok voor schone ruimten' voert een notitieblok voor schone ruimten uit wanneer het clean_rooms_notebook_task veld aanwezig is. Zie Wat is Azure Databricks Clean Rooms? voor informatie over schone ruimten.
De volgende sleutels zijn beschikbaar voor een notitiebloktaak voor schone ruimten. Zie clean_rooms_notebook_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
clean_room_name |
Snaar / Touwtje | Verplicht. De schone ruimte waartoe het notitieblok behoort. |
etag |
Snaar / Touwtje | Controlesom om de nieuwheid van de notebookresource te valideren. Het kan worden opgehaald door het aanroepen van de clean room assets get operation. |
object |
Map | Basisparameters die moeten worden gebruikt voor de clean room notebook-taak. |
notebook_name |
Snaar / Touwtje | Verplicht. Naam van het notebook dat wordt uitgevoerd. |
Voorwaardetaak
Met de condition_task kunt u een taak toevoegen met if/else-voorwaardelijke logica aan uw taak. De taak evalueert een voorwaarde die kan worden gebruikt om de uitvoering van andere taken te beheren. De voorwaardetaak vereist geen cluster om uit te voeren en biedt geen ondersteuning voor nieuwe pogingen of meldingen. Zie Vertakkingslogica toevoegen aan een taak met de if/else-taak voor meer informatie over de if/else-taak.
De volgende sleutels zijn beschikbaar voor een voorwaardetaak. Zie condition_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
left |
Snaar / Touwtje | Verplicht. De linkeroperand van de voorwaarde. Kan een tekenreekswaarde of een taakstatus of een dynamische waardereferentie zijn, zoals {{job.repair_count}} of {{tasks.task_key.values.output}}. |
op |
Snaar / Touwtje | Verplicht. De operator die moet worden gebruikt voor vergelijking. Geldige waarden zijn: EQUAL_TO, NOT_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, , LESS_THAN. LESS_THAN_OR_EQUAL |
right |
Snaar / Touwtje | Verplicht. De rechteroperand van de voorwaarde. Dit kan een tekenreekswaarde of een taakstatus of een verwijzing naar een dynamische waarde zijn. |
Voorbeelden
Het volgende voorbeeld bevat een voorwaardetaak en een notebooktaak, waarbij de notebooktaak alleen wordt uitgevoerd als het aantal taakreparaties kleiner is dan 5.
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
Dashboard taak
U gebruikt deze taak om een dashboard te vernieuwen en een momentopname naar abonnees te verzenden. Zie het dashboard voor meer informatie over dashboards in bundels.
De volgende sleutels zijn beschikbaar voor een dashboardtaak. Zie dashboard_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
dashboard_id |
Snaar / Touwtje | Verplicht. De identificatie van het dashboard dat moet worden ververst. Het dashboard moet al bestaan. |
subscription |
Map | De abonnementsconfiguratie voor het verzenden van de momentopname van het dashboard. Elk abonnementsobject kan doelinstellingen opgeven voor het verzenden van momentopnamen nadat het vernieuwen van het dashboard is voltooid. Zie het abonnement. |
warehouse_id |
Snaar / Touwtje | Het magazijn-ID waarmee het dashboard voor het tijdschema wordt uitgevoerd. Als dit niet is opgegeven, wordt het standaardwarehouse van het dashboard gebruikt. |
Voorbeelden
In het volgende voorbeeld wordt een dashboardtaak aan een taak toegevoegd. Wanneer de taak wordt uitgevoerd, wordt het dashboard met de opgegeven id vernieuwd.
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-taak
U gebruikt deze taak om een of meer dbt-opdrachten uit te voeren. Zie Verbinding maken met dbt Cloud voor meer informatie over dbt.
De volgende sleutels zijn beschikbaar voor een dbt-taak. Zie dbt_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
catalog |
Snaar / Touwtje | De naam van de catalogus die moet worden gebruikt. De cataloguswaarde kan alleen worden opgegeven als een warehouse_id waarde is opgegeven. Voor dit veld is dbt-databricks >= 1.1.1 vereist. |
commands |
Sequentie | Verplicht. Een lijst met dbt-opdrachten die op volgorde moeten worden uitgevoerd. Elke opdracht moet een volledige dbt-opdracht zijn (bijvoorbeeld dbt deps, dbt seed, dbt run, ). dbt test Er kunnen maximaal 10 opdrachten worden opgegeven. |
profiles_directory |
Snaar / Touwtje | Het pad naar de map met het dbt-profiles.yml-bestand. Kan alleen worden opgegeven als er geen warehouse_id is opgegeven. Als er geen warehouse_id is opgegeven en deze map niet is ingesteld, wordt de hoofdmap gebruikt. |
project_directory |
Snaar / Touwtje | Het pad naar de map met het dbt-project. Als dit niet is opgegeven, wordt standaard de basismap van de opslagplaats of de werkruimtemap gebruikt. Voor projecten die zijn opgeslagen in de Databricks-werkruimte, moet het pad absoluut zijn en beginnen met een slash. Voor projecten in een externe opslagplaats moet het pad relatief zijn. |
schema |
Snaar / Touwtje | Het schema waar naar moet worden geschreven. Deze parameter wordt alleen gebruikt wanneer er ook een warehouse_id wordt opgegeven. Als dit niet is opgegeven, wordt het standaardschema gebruikt. |
source |
Snaar / Touwtje | Het locatietype van het dbt-project. Geldige waarden zijn WORKSPACE en GIT. Wanneer dit is ingesteld WORKSPACE, wordt het project opgehaald uit de Databricks-werkruimte. Wanneer dit is ingesteld GIT, wordt het project opgehaald uit een Git-opslagplaats die is gedefinieerd in git_source. Als deze leeg is, gebruikt de taak GIT als git_source is gedefinieerd en anders WORKSPACE. |
warehouse_id |
Snaar / Touwtje | De id van het SQL-warehouse dat moet worden gebruikt voor het uitvoeren van dbt-opdrachten. Als dit niet is opgegeven, wordt het standaardwarehouse gebruikt. |
Voorbeelden
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.
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 .
Aanbeveling
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 Standaardbundelsjablonenvoor meer informatie over sjablonen voor Databricks Asset Bundles.
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'
Voor elke taak
Met de for_each_task kunt u een taak met een 'for each'-lus aan uw opdracht toevoegen. De taak voert een geneste taak uit voor elke gegeven invoer. Zie voor meer informatie over de for_each_task. Gebruik een For each-taak om een andere taak in een lus uit te voeren.
De volgende sleutels zijn beschikbaar voor een for_each_task. Zie for_each_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
concurrency |
Integer | Het maximum aantal taakiteraties dat gelijktijdig kan worden uitgevoerd. Als dit niet is opgegeven, kunnen alle iteraties parallel worden uitgevoerd, afhankelijk van cluster- en werkruimtelimieten. |
inputs |
Snaar / Touwtje | Verplicht. De invoergegevens voor de lus. Dit kan een JSON-tekenreeks of een verwijzing naar een matrixparameter zijn. Elk element in de matrix wordt doorgegeven aan één iteratie van de geneste taak. |
task |
Map | Verplicht. De geneste taakdefinitie die moet worden uitgevoerd voor elke invoer. Dit object bevat de volledige taakspecificatie inclusief task_key en het taaktype (bijvoorbeeld notebook_task, python_wheel_task, enzovoort). |
Voorbeelden
In het volgende voorbeeld wordt een for_each_task aan een taak toegevoegd, waarbij deze de waarden van een andere taak doorloopt en verwerkt.
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-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 het JAR-bestand (Java of Scala).
Zie zelfstudie: Scala-code uitvoeren op serverloze compute voor meer informatie over het compileren en implementeren van Scala JAR-bestanden op een cluster met Unity Catalog in de standaardtoegangsmodus.
De volgende sleutels zijn beschikbaar voor een JAR-taak. Zie jar_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
jar_uri |
Snaar / Touwtje | Afgeschreven De URI van de JAR die moet worden uitgevoerd. DBFS- en cloudopslagpaden worden ondersteund. Dit veld is afgeschaft en mag niet worden gebruikt. Gebruik in plaats daarvan het libraries veld om JAR-afhankelijkheden op te geven. |
main_class_name |
Snaar / Touwtje | Verplicht. De volledige naam van de klasse die de hoofdmethode bevat die moet worden uitgevoerd. Deze klasse moet zijn opgenomen in een JAR die als bibliotheek wordt geleverd. De code moet worden gebruikt SparkContext.getOrCreate om een Spark-context te verkrijgen. Anders mislukken uitvoeringen van de taak. |
parameters |
Sequentie | De parameters die worden doorgegeven aan de hoofdmethode. Gebruik taakparametervariabelen om parameters in te stellen die informatie bevatten over taakuitvoeringen. |
Voorbeelden
In het volgende voorbeeld wordt een JAR-taak aan een taak toegevoegd. Het pad voor de JAR is naar een volumelocatie.
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-taak
U gebruikt deze taak om een notitieboek uit te voeren. Zie Notebook-taak voor opdrachten.
De volgende sleutels zijn beschikbaar voor een notebook-taak. Zie notebook_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
base_parameters |
Map | De basisparameters die moeten worden gebruikt voor elke uitvoering van deze taak.
|
notebook_path |
Snaar / Touwtje | Verplicht. Het pad van het notebook in de Databricks-werkruimte of externe opslagplaats, bijvoorbeeld /Users/user.name@databricks.com/notebook_to_run. Voor notebooks die zijn opgeslagen in de Databricks-werkruimte, moet het pad absoluut zijn en beginnen met een slash. Voor notebooks die zijn opgeslagen in een externe opslagplaats, moet het pad relatief zijn. |
source |
Snaar / Touwtje | Locatietype van het notitieblok. Geldige waarden zijn WORKSPACE en GIT. Wanneer ingesteld op WORKSPACE, wordt het notebook opgehaald uit de lokale Databricks-werkruimte. Als deze optie is ingesteld GIT, wordt het notebook opgehaald uit een Git-opslagplaats die is gedefinieerd in git_source. Als de waarde leeg is, zal de taak GIT gebruiken indien git_source gedefinieerd is en anders WORKSPACE. |
warehouse_id |
Snaar / Touwtje | De ID van het magazijn waarop het notebook moet worden uitgevoerd. Klassieke SQL-magazijnen worden niet ondersteund. Gebruik in plaats daarvan serverloze of pro SQL-warehouses. SQL-warehouses ondersteunen alleen SQL-cellen. Als het notebook non-SQL-cellen bevat, mislukt de run. Als u Python (of andere talen) in een cel moet gebruiken, gebruik dan serverless. |
Voorbeelden
In het volgende voorbeeld wordt een notebooktaak aan een taak toegevoegd en wordt een taakparameter met de naam my_job_run_idingesteld. Het pad voor de te implementeren notebook is relatief ten opzichte van het configuratiebestand waarin deze taak wordt gespecificeerd. De taak haalt het notebook op vanaf de geïmplementeerde locatie in de Azure Databricks-werkruimte.
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}}'
Pijplijntaak
U gebruikt deze taak om een pijplijn uit te voeren. Zie declaratieve pijplijnen van Lakeflow Spark.
De volgende sleutels zijn beschikbaar voor een pijplijntaak. Zie pipeline_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
full_refresh |
Booleaan | Indien waar, wordt een volledige vernieuwing van de pijplijn geactiveerd, waardoor alle gegevenssets in de pijplijn volledig opnieuw worden gecomputeerd. Indien onwaar of weggelaten, worden alleen incrementele gegevens verwerkt. Zie semantiek voor pijplijnvernieuwing voor meer informatie. |
pipeline_id |
Snaar / Touwtje | Verplicht. De ID van de pijplijn die moet worden uitgevoerd. De pijplijn moet al bestaan. |
Voorbeelden
In het volgende voorbeeld wordt een pijplijntaak aan een taak toegevoegd. Met deze taak wordt de opgegeven pijplijn uitgevoerd.
Aanbeveling
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.
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-taak
Belangrijk
Power BI-taaktype bevindt zich in openbare preview.
Gebruik deze taak om een vernieuwing van een semantisch Power BI-model (voorheen een gegevensset genoemd) te activeren.
De volgende sleutels zijn beschikbaar voor een Power BI-taak. Zie power_bi_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
connection_resource_name |
Snaar / Touwtje | Verplicht. De naam van de Unity Catalog-verbinding voor verificatie van Databricks naar Power BI. |
power_bi_model |
Snaar / Touwtje | Verplicht. De naam van het semantische Power BI-model (gegevensset) dat moet worden bijgewerkt. |
refresh_after_update |
Booleaan | Of het semantische Power BI-model moet worden vernieuwd nadat de update is voltooid. Standaard ingesteld op onwaar. |
tables |
Sequentie | Een lijst met tabellen (elk als een kaart) die moet worden geëxporteerd naar Power BI. Zie tabellen. |
warehouse_id |
Snaar / Touwtje | De id van het SQL-warehouse dat moet worden gebruikt als de Power BI-gegevensbron. |
Voorbeelden
In het volgende voorbeeld wordt een Power BI-taak gedefinieerd, waarmee een verbinding wordt opgegeven, het Power BI-model dat moet worden bijgewerkt en de Databricks-tabel die moet worden geëxporteerd.
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-script taak
U gebruikt deze taak om een Python-bestand uit te voeren.
De volgende sleutels zijn beschikbaar voor een Python-scripttaak. Zie python_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
parameters |
Sequentie | De parameters die moeten worden doorgegeven aan het Python-bestand. Gebruik taakparametervariabelen om parameters in te stellen die informatie bevatten over taakuitvoeringen. |
python_file |
Snaar / Touwtje | Verplicht. De URI van het Python-bestand dat moet worden uitgevoerd, bijvoorbeeld /Users/someone@example.com/my-script.py. Voor Python-bestanden die zijn opgeslagen in de Databricks-werkruimte, moet het pad absoluut zijn en beginnen met /. Voor bestanden die zijn opgeslagen in een externe opslagplaats, moet het pad relatief zijn. Dit veld biedt geen ondersteuning voor dynamische waardeverwijzingen zoals variabelen. |
source |
Snaar / Touwtje | Het locatietype van het Python-bestand. Geldige waarden zijn WORKSPACE en GIT. Wanneer dit is ingesteld WORKSPACE, wordt het bestand opgehaald uit de lokale Databricks-werkruimte. Wanneer dit is ingesteld GIT, wordt het bestand opgehaald uit een Git-opslagplaats die is gedefinieerd in git_source. Als de waarde leeg is, zal de taak GIT gebruiken indien git_source gedefinieerd is en anders WORKSPACE. |
Voorbeelden
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.
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
Pythonwieltaak
U gebruikt deze taak om een Python-wiel uit te voeren. Zie Een Python-wielbestand bouwen met behulp van Databricks Asset Bundles.
De volgende sleutels zijn beschikbaar voor een Python-wieltaak. Zie python_wheel_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
entry_point |
Snaar / Touwtje | Verplicht. Het gespecificeerde toegangspunt om uit te voeren: functie of klasse. Als deze niet bestaat in de metagegevens van het pakket, wordt de functie rechtstreeks vanuit het pakket uitgevoerd met behulp van $packageName.$entryPoint(). |
named_parameters |
Map | De benoemde parameters die moeten worden doorgegeven aan de Python-wieltaak, ook wel trefwoordargumenten genoemd. Een benoemde parameter is een sleutel-waardepaar met een tekenreekssleutel en een tekenreekswaarde. Beide parameters en named_parameters kunnen niet worden opgegeven. Als named_parameters is gespecificeerd, worden de parameters doorgegeven als trefwoordargumenten aan de functie van het invoerpunt. |
package_name |
Snaar / Touwtje | Verplicht. De naam van het Python-pakket dat moet worden uitgevoerd. Alle afhankelijkheden moeten worden geïnstalleerd in de omgeving. Hiermee wordt niet gecontroleerd op of worden pakketafhankelijkheden geïnstalleerd. |
parameters |
Sequentie | De parameters die moeten worden doorgegeven aan de Python-wieltaak, ook wel positionele argumenten genoemd. Elke parameter is een tekenreeks. Indien opgegeven, named_parameters mag niet worden opgegeven. |
Voorbeelden
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.
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
Taaktaak uitvoeren
U gebruikt deze taak om een andere taak uit te voeren.
De volgende sleutels zijn beschikbaar voor een taaktaak uitvoeren. Zie run_job_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
job_id |
Integer | Verplicht. De ID van de taak die moet worden uitgevoerd. De taak moet al bestaan in de werkruimte. |
job_parameters |
Map | Parameters op taakniveau die moeten worden doorgegeven aan de taak die wordt uitgevoerd. Deze parameters zijn toegankelijk binnen de taken van de taak. |
pipeline_params |
Map | Parameters voor de pijplijntaak. Wordt alleen gebruikt als de taak die wordt uitgevoerd een pijplijntaak bevat. Kan omvatten full_refresh om een volledige vernieuwing van de pijplijn te activeren. |
Voorbeelden
Het volgende voorbeeld bevat een uitvoeringstaak in de tweede taak die de eerste taak afhandelt.
In dit voorbeeld wordt een substitutie gebruikt om de ID van de uit te voeren taak op te halen. 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.
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-taak
U gebruikt deze taak om een SQL-bestand, query of waarschuwing uit te voeren.
De volgende sleutels zijn beschikbaar voor een SQL-taak. Zie sql_task voor de bijbehorende REST API-objectdefinitie.
| Key | Typologie | Description |
|---|---|---|
alert |
Map | Configuratie voor het uitvoeren van een SQL-waarschuwing. Bevat:
|
dashboard |
Map | Configuratie voor het vernieuwen van een SQL-dashboard. Bevat:
|
file |
Map | Configuratie voor het uitvoeren van een SQL-bestand. Bevat:
|
parameters |
Map | Parameters die moeten worden gebruikt voor elke uitvoering van deze taak. SQL-query's en -bestanden kunnen deze parameters gebruiken door ernaar te verwijzen met de syntaxis {{parameter_key}}. Gebruik taakparametervariabelen om parameters in te stellen die informatie bevatten over taakuitvoeringen. |
query |
Map | Configuratie voor het uitvoeren van een SQL-query. Bevat:
|
warehouse_id |
Snaar / Touwtje | Verplicht. De id van het SQL-warehouse dat moet worden gebruikt om de SQL-taak uit te voeren. Het SQL-warehouse moet al bestaan. |
Voorbeelden
Aanbeveling
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 .
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.
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
In het volgende voorbeeld wordt een SQL-waarschuwingstaak aan een taak toegevoegd. Deze SQL-waarschuwingstaak maakt gebruik van het opgegeven SQL-warehouse om de opgegeven SQL-waarschuwing te vernieuwen.
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
In het volgende voorbeeld wordt een SQL-querytaak aan een taak toegevoegd. Deze SQL-querytaak maakt gebruik van het opgegeven SQL-warehouse om de opgegeven SQL-query uit te voeren.
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 taakinstellingen
Met de volgende taakinstellingen kunt u gedrag voor alle taken configureren. Zie taken voor de bijbehorende REST API-objectdefinities.
| Key | Typologie | Description |
|---|---|---|
depends_on |
Sequentie | Een optionele lijst met taakafhankelijkheden. Elk item bevat:
|
description |
Snaar / Touwtje | Een optionele beschrijving voor de taak. |
disable_auto_optimization |
Booleaan | Of automatische optimalisatie voor deze taak moet worden uitgeschakeld. Indien waar, worden automatische optimalisaties, zoals de uitvoering van adaptieve query's, uitgeschakeld. |
email_notifications |
Map | Een optionele set e-mailadressen om te melden wanneer een uitvoering begint, is voltooid of mislukt. Elk item bevat:
|
environment_key |
Snaar / Touwtje | De sleutel van een omgeving, gedefinieerd in de configuratie van de taak environments. Wordt gebruikt om omgevingsspecifieke instellingen op te geven. Dit veld is vereist voor Python-script-, Python-wiel- en dbt-taken bij het gebruik van serverloze berekeningen. |
existing_cluster_id |
Snaar / Touwtje | De id van een bestaand cluster dat wordt gebruikt voor alle uitvoeringen van deze taak. |
health |
Map | Een optionele specificatie voor statuscontrole van deze taak met een rules sleutel, een lijst met statusregels die moeten worden geëvalueerd. |
job_cluster_key |
Snaar / Touwtje | De sleutel van een taakcluster dat is gedefinieerd in de configuratie van job_clusters de taak. |
libraries |
Sequentie | Een optionele lijst met bibliotheken die moeten worden geïnstalleerd op het cluster waarmee de taak wordt uitgevoerd. Elke bibliotheek wordt opgegeven als een kaart met sleutels zoals jar, egg, whl, pypi, , maven, of cranrequirements. |
max_retries |
Integer | Een optioneel maximum aantal keren om de taak opnieuw uit te voeren als deze mislukt. Als deze niet is opgegeven, wordt de taak niet opnieuw geprobeerd. |
min_retry_interval_millis |
Integer | Een optioneel minimaal interval in milliseconden tussen het begin van de mislukte uitvoering en de volgende nieuwe poging. Als dit niet is opgegeven, is de standaardwaarde 0 (onmiddellijk opnieuw proberen). |
new_cluster |
Map | Een specificatie voor een nieuw cluster dat moet worden gemaakt voor elke uitvoering van deze taak. Zie cluster. |
notification_settings |
Map | Optionele meldingsinstellingen voor deze taak. Elk item bevat:
|
retry_on_timeout |
Booleaan | Een optioneel beleid om op te geven of de taak opnieuw moet worden uitgevoerd wanneer er een time-out optreedt. Als dit niet is opgegeven, wordt de standaardwaarde onwaar. |
run_if |
Snaar / Touwtje | Een optionele waarde die de voorwaarde aangeeft waaronder de taak moet worden uitgevoerd. Geldige waarden zijn:
|
task_key |
Snaar / Touwtje | Verplicht. Een unieke naam voor de taak. Dit veld wordt gebruikt om te verwijzen naar deze taak uit andere taken met behulp van het depends_on veld. |
timeout_seconds |
Integer | Er is een optionele time-out toegepast op elke uitvoering van deze taak. Een waarde van 0 betekent geen time-out. Als dit niet is ingesteld, wordt de standaardtime-out van de clusterconfiguratie gebruikt. |
webhook_notifications |
Map | Een optionele set systeembestemmingen om op de hoogte te stellen wanneer een uitvoering wordt gestart, voltooid of mislukt. Elk item bevat:
|