Delen via


Taken toevoegen aan banen in Databricks Asset Bundles

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.
  • Als de uitvoering wordt gestart door een aanroep naar taken of directe uitvoering met opgegeven parameters, worden de twee parametermaps samengevoegd.
  • Als dezelfde sleutel is opgegeven in base_parameters en in run-now, wordt de waarde waaruit run-now wordt gebruikt. Gebruik taakparametervariabelen om parameters in te stellen die informatie bevatten over taakuitvoeringen.
  • Als het notebook een parameter gebruikt die niet is opgegeven in de base_parameters parameters van de taak of de run-now overschrijfparameters, dan wordt de standaardwaarde uit het notebook gebruikt. Haal deze parameters op in een notebook met behulp van dbutils.widgets.get.
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:
  • alert_id (tekenreeks): vereist. De canonieke id van de SQL-waarschuwing die moet worden uitgevoerd.
  • pause_subscriptions (Booleaanse waarde): Of u waarschuwingsabonnementen wilt onderbreken.
  • subscriptions (Reeks): Lijst met abonnementsinstellingen.
dashboard Map Configuratie voor het vernieuwen van een SQL-dashboard. Bevat:
  • dashboard_id (tekenreeks): vereist. De canonieke identifier van het SQL-dashboard dat moet worden ververst.
  • custom_subject (Tekenreeks): Aangepast onderwerp voor het e-mailbericht dat naar dashboardabonnees wordt verzonden.
  • pause_subscriptions (Booleaanse waarde): Of u dashboardabonnementen wilt onderbreken.
  • subscriptions (Reeks): Lijst met abonnementsinstellingen.
file Map Configuratie voor het uitvoeren van een SQL-bestand. Bevat:
  • path (tekenreeks): vereist. Het pad van het SQL-bestand in de werkruimte of externe opslagplaats. Voor bestanden die zijn opgeslagen in de Databricks-werkruimte, moet het pad absoluut zijn en beginnen met een slash. Voor bestanden die zijn opgeslagen in een externe opslagplaats, moet het pad relatief zijn.
  • source (Tekenreeks): het locatietype van het SQL-bestand. Geldige waarden zijn WORKSPACE en GIT.
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:
  • query_id (tekenreeks): vereist. De canonieke id van de SQL-query die moet worden uitgevoerd.
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:
  • task_key (tekenreeks): vereist. De sleutel van de taak waarvan deze taak afhankelijk is.
  • outcome (Tekenreeks): kan alleen worden opgegeven voor condition_task. Indien opgegeven, wordt de afhankelijke taak alleen uitgevoerd als de voorwaarde resulteert in het opgegeven resultaat (of truefalse).
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:
  • on_start (Reeks): Lijst met e-mailadressen om te informeren wanneer een taak wordt gestart.
  • on_success (Reeks): Lijst met e-mailadressen om te verwittigen wanneer een uitvoering succesvol is voltooid.
  • on_failure (Volgorde): Lijst met e-mailadressen om te waarschuwen wanneer een run mislukt.
  • on_duration_warning_threshold_exceeded (Reeks): Lijst met e-mailadressen om op de hoogte te stellen wanneer de uitvoeringstijd de drempel overschrijdt.
  • on_streaming_backlog_suceeded (Reeks): Lijst met e-mailadressen voor meldingen wanneer de drempels voor de achterstand in streaming voor een stream worden overschreden.
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:
  • no_alert_for_skipped_runs (Booleaanse waarde): Indien waar, verzendt u geen meldingen voor overgeslagen uitvoeringen.
  • no_alert_for_canceled_runs (Booleaanse waarde): Indien waar, verzendt u geen meldingen voor geannuleerde uitvoeringen.
  • alert_on_last_attempt (Booleaanse waarde): Indien waar, verzendt u alleen meldingen bij de laatste poging om het opnieuw te proberen.
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:
  • ALL_SUCCESS (standaard): Voer uit als alle afhankelijkheden succesvol zijn.
  • AT_LEAST_ONE_SUCCESS: Uitvoeren als minstens één afhankelijkheid succesvol is.
  • NONE_FAILED: Voer uit als geen van de afhankelijkheden zijn mislukt.
  • ALL_DONE: Voer uit wanneer alle afhankelijkheden zijn voltooid, ongeacht het resultaat.
  • AT_LEAST_ONE_FAILED: Uitvoeren als ten minste één afhankelijkheid mislukt.
  • ALL_FAILED: Voer uit als alle afhankelijkheden mislukken.
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:
  • on_start (Reeks): Lijst met meldingsbestemmingen wanneer een uitvoering wordt gestart.
  • on_success (Reeks): Lijst met meldingsbestemmingen wanneer een uitvoering is voltooid.
  • on_failure (Reeks): Lijst met meldingsbestemmingen wanneer een uitvoering mislukt.
  • on_duration_warning_threshold_exceeded (Reeks): Lijst met meldingsbestemmingen wanneer de uitvoeringsduur de drempelwaarde overschrijdt.
  • on_streaming_backlog_suceeded (Reeks): Lijst met e-mailadressen voor meldingen wanneer de drempels voor de achterstand in streaming voor een stream worden overschreden.