Přidání úkolů do úloh v deklarativních balíčcích automatizace

Tato stránka obsahuje informace o tom, jak definovat úlohy v deklarativních sadách automatizace. Pro informace o pracovních úkolech si prohlédněte Konfiguraci a úpravu úkolů v úlohách Lakeflow.

Důležité

Pole práce git_source a pole úkolu source, nastavené na GIT, nejsou doporučovány pro balíčky, protože místní relativní cesty nemusí odkazovat na stejný obsah v úložišti Git. Balíčky očekávají, že nasazená úloha má stejné soubory jako místní kopie, odkud byla nasazena.

Místo toho naklonujte úložiště lokálně a nastavte projekt svazku v rámci tohoto úložiště, aby zdrojem úkolů byl přímo pracovní prostor.

Konfigurace úkolů

Definujte úkoly pro úlohu v sadě pomocí tasks klíče pro definici úlohy. Příklady konfigurace úloh pro dostupné typy úloh jsou v části Nastavení úlohy . Informace o definování úlohy v sadě naleznete u job.

Návod

Pokud chcete rychle vygenerovat konfiguraci prostředků pro existující úlohu pomocí Databricks CLI, můžete použít tento příkaz. Viz příkazy balíčku.

K nastavení hodnot úkolů má většina typů úloh parametry specifické pro úkoly, ale můžete také definovat parametry úlohy , které se předávají úkolům. Dynamické odkazy na hodnoty jsou podporovány pro parametry úlohy, které umožňují předávání hodnot specifických pro spuštění úlohy mezi úkoly. Úplné informace o předávání hodnot úkolů podle typu úkolu naleznete v tématu Podrobnosti podle typu úkolu.

Také můžete přepsat obecná nastavení pracovních úloh nastavením pro cílový pracovní prostor. Viz Přepsání s nastavením cíle.

Následující příklad konfigurace definuje úlohu se dvěma úkoly poznámkového bloku a předá hodnotu úkolu z prvního úkolu do druhého úkolu.

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}}'

Obsahuje output_notebook.ipynb následující kód, který nastaví hodnotu úkolu pro message klíč:

# 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}")

Funkce input_notebook.ipynb načte hodnotu parametru received_message, který byl nastaven v konfiguraci pro úlohu:

# 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}")

Nastavení úlohy

Tato část obsahuje nastavení a příklady pro každý typ úlohy.

Výstraha (v2) – úkol

Úloha výstrahy (v2) vyhodnocuje výstrahu Databricks a odesílá oznámení odběratelům, když je pole alert_task k dispozici. Další informace o úkolech výstrah najdete v tématu Úloha výstrahy SQL pro úlohy.

Pro úlohu výstrahy (v2) jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v tématu alert_task.

Přidáno v Databricks CLI verze 0.296.0

Key Typ Description
alert_id String ID výstrahy, která se má vyhodnotit. K identifikaci výstrahy lze zadat pouze alert_id nebo workspace_path.
subscribers Sekvence Seznam odběratelů, kteří mají po dokončení úkolu upozornění dostávat oznámení o výsledku vyhodnocení výstrahy. Počet předplatných je omezený na 100. Každý odběratel je objekt s jedním z: destination_id (String) pro cíl oznámení nebo user_name (String) pro e-mailovou adresu uživatele pracovního prostoru.
warehouse_id String Nastavení skladu používané úlohou upozornění.
workspace_path String Cesta k souboru upozornění v pracovním prostoru. Cesta musí začínat na /Workspace a musí být normalizovanou cestou. K identifikaci výstrahy lze zadat pouze alert_id nebo workspace_path.

Examples

Následující příklad přidá úlohu upozornění do úlohy:

resources:
  jobs:
    my_job:
      name: my_job
      tasks:
        - task_key: alert_task
          alert_task:
            workspace_path: ./my_alert.dbalert.json
            warehouse_id: 1a111111a1111aa1

Úloha vyčistit poznámkový blok místnosti

Úloha poznámkového bloku čistých místností spustí tento poznámkový blok, když je pole clean_rooms_notebook_task k dispozici. Informace o čistých pokojích najdete v tématu Co je Azure Databricks Clean Rooms?.

Pro úlohu poznámkového bloku v čistých místnostech jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v clean_rooms_notebook_task.

Přidáno v Databricks CLI verze 0.237.0

Key Typ Description
clean_room_name String Povinné. Čistá místnost, do které poznámkový blok patří.
etag String Kontrolní součet pro ověření aktuálnosti zdroje poznámkového bloku. Můžete ho načíst voláním prostředku čisté místnosti získat operaci.
object Map Základní parametry, které se mají použít pro úlohu poznámkového bloku čistých prostor.
notebook_name String Povinné. Název spuštěného poznámkového bloku

Podmínkový úkol

condition_task umožňuje do úlohy přidat úlohu s podmíněnou logikou if/else. Úkol vyhodnotí podmínku, kterou lze použít k řízení provádění jiných úkolů. Úloha podmínky nevyžaduje cluster ke spuštění a nepodporuje opakované pokusy ani oznámení. Další informace o úloze podmínky if/else naleznete v tématu Přidání logiky větvení do úlohy pomocí úlohy If/else.

Pro úlohu podmínky jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v condition_task.

Key Typ Description
left String Povinné. Levý operand podmínky. Může to být řetězcová hodnota nebo stav úlohy nebo odkaz na dynamickou hodnotu, například {{job.repair_count}} nebo {{tasks.task_key.values.output}}.
op String Povinné. Operátor, který se má použít pro porovnání. Platné hodnoty jsou: EQUAL_TO, NOT_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, . LESS_THAN_OR_EQUAL
right String Povinné. Pravý operand podmínky. Může to být řetězcová hodnota nebo stav úlohy nebo odkaz na dynamickou hodnotu.

Examples

Následující příklad obsahuje podmínkový úkol a úkol notebooku, kde se úkol spustí pouze pokud je počet oprav úloh menší než 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

Úkol na řídicím panelu

Tuto úlohu použijete k aktualizaci řídicího panelu a odeslání snímku odběratelům. Další informace o řídicích panelech v balíčcích najdete na řídicím panelu.

Pro úlohu řídicího panelu jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v tématu dashboard_task.

Přidáno do CLI Databricks verze 0.248.0

Key Typ Description
dashboard_id String Povinné. Identifikátor řídicího panelu, který se má aktualizovat. Řídicí panel už musí existovat.
subscription Map Konfigurace předplatného pro odesílání snímku řídicího panelu Každý objekt předplatného může určit nastavení cíle, kam se mají po dokončení aktualizace řídicího panelu odesílat snímky. Viz předplatné.
warehouse_id String ID skladu pro spuštění řídicího panelu podle plánu. Pokud není zadaný, použije se výchozí sklad řídicího panelu.

Examples

Následující příklad přidá úkol pro řídicí panel do úlohy. Po spuštění úlohy se aktualizuje řídicí panel se zadaným ID.

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 – úloha

Tuto úlohu použijete ke spuštění jednoho nebo více příkazů dbt. Další informace o dbt naleznete v tématu Připojení ke službě dbt Cloud.

Pro úlohu dbt jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v dbt_task.

Key Typ Description
catalog String Název katalogu, který se má použít. Hodnotu katalogu lze zadat pouze v případě, že warehouse_id je zadána. Toto pole vyžaduje dbt-databricks >= 1.1.1.
commands Sekvence Povinné. Seznam příkazů dbt, které se mají spouštět v sekvenci Každý příkaz musí být úplný příkaz dbt (napřdbt deps. , dbt seed, dbt run, ). dbt test Můžete zadat maximálně 10 příkazů.
profiles_directory String Cesta k adresáři, který obsahuje soubor dbt profiles.yml. Lze zadat pouze v případě, že není zadána žádná warehouse_id. Pokud není warehouse_id určena a žádná složka není nastavená, bude použit kořenový adresář.
project_directory String Cesta k adresáři obsahujícímu projekt dbt. Pokud není specifikováno, představuje výchozí kořen úložiště nebo adresáře pracovního prostoru. U projektů uložených v pracovním prostoru Databricks musí být cesta absolutní a musí začínat úvodním lomítkem. U projektů ve vzdáleném úložišti musí být cesta relativní.
schema String Schéma, do kterého se má zapisovat. Tento parametr se používá pouze v případě, že warehouse_id je k dispozici také. Pokud není zadané, použije se výchozí schéma.
source String Typ umístění projektu dbt. Platné hodnoty jsou WORKSPACE a GIT. Pokud je nastaveno na WORKSPACE, projekt bude načten z pracovního prostoru Databricks. Po nastavení GITse projekt načte z úložiště Git definovaného v git_source. Pokud je tato hodnota prázdná, použije se úloha GIT , pokud git_source je definována, a WORKSPACE v opačném případě.
warehouse_id String ID SQL Warehouse, které se má použít pro spouštění příkazů dbt. Pokud není zadaný, použije se výchozí sklad.

Examples

Následující příklad přidá úkol DBT do úlohy. Tato úloha dbt používá zadaný SQL Warehouse ke spuštění zadaných příkazů dbt.

Pokud chcete získat ID SQL Warehouse, otevřete stránku nastavení SQL Warehouse a potom zkopírujte ID nalezené v závorkách za názvem skladu v poli Název na kartě Přehled .

Návod

Deklarativní balíčky automatizace také obsahují dbt-sql šablonu projektu, která definuje úlohu s úkolem dbt a také profily dbt pro nasazené úlohy dbt. Informace o šablonách deklarativních automatizačních balíčků naleznete v tématu Výchozí šablony sad prostředků.

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'

Pro každý úkol

for_each_task vám umožňuje přidat úkol s cyklem 'for each' do vaší úlohy. Úloha spustí vnořenou úlohu pro každý zadaný vstup. Další informace o for_each_tasknaleznete v tématu Použití úlohy For each ke spuštění jiné úlohy ve smyčce.

Následující klávesy jsou k dispozici pro for_each_task. Odpovídající definici objektu rozhraní REST API najdete v for_each_task.

Key Typ Description
concurrency Integer Maximální počet iterací úloh, které se dají spustit souběžně. Pokud není zadáno, můžou se všechny iterace spouštět paralelně v závislosti na omezeních clusteru a pracovního prostoru.
inputs String Povinné. Vstupní data pro smyčku. Může to být řetězec JSON nebo odkaz na parametr pole. Každý prvek v poli se předá do jedné iterace vnořené úlohy.
task Map Povinné. Definice vnořené úlohy, která se má provést pro každý vstup. Tento objekt obsahuje úplnou specifikaci úkolu včetně task_key typu úkolu (např. notebook_task, atd python_wheel_task.).

Examples

Následující příklad přidává for_each_task k úkolu, kde se iteruje přes hodnoty jiného úkolu a zpracovává je.

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 úkol

Tuto úlohu použijete ke spuštění souboru JAR. Můžete odkazovat na místní knihovny JAR nebo knihovny v pracovním prostoru, na svazek katalogu Unity nebo v externím cloudovém úložišti. Viz soubor JAR (Java nebo Scala).

Podrobnosti o tom, jak kompilovat a nasazovat soubory SCALA JAR v clusteru s podporou katalogu Unity ve standardním režimu přístupu, najdete v tématu Kurz: Spuštění kódu Scala na bezserverové výpočetní prostředky.

Pro úlohu JAR jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v jar_task.

Key Typ Description
jar_uri String Deprecated. Identifikátor URI souboru JAR, který se má spustit. Podporují se cesty k DBFS a cloudovému úložišti. Toto pole je zastaralé a nemělo by se používat. Místo toho použijte libraries pole k určení závislostí JAR.
main_class_name String Povinné. Úplný název třídy obsahující hlavní metodu, která se má provést. Tato třída musí být obsažena v JAR souboru, který je poskytován jako knihovna. Kód musí použít SparkContext.getOrCreate k získání kontextu Sparku. V opačném případě se spuštění úlohy nezdaří.
parameters Sekvence Parametry předané hlavní metodě. Proměnné parametrů úkolu slouží k nastavení parametrů obsahujících informace o spuštění úlohy.

Examples

Následující příklad přidá úlohu JAR k úloze. Cesta ke souboru JAR vede na místo svazku.

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

Úkol v notebooku

Tuto úlohu použijete ke spuštění poznámkového bloku. Viz úlohu poznámkového bloku pro úkoly.

Pro úlohu poznámkového bloku jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v notebook_task.

Key Typ Description
base_parameters Map Základní parametry, které se mají použít pro každé spuštění této úlohy.
  • Pokud je spuštění inicializováno voláním úloh nebo spuštěním se zadanými parametry, tyto dvě mapy parametrů se sloučí.
  • Pokud je stejný klíč zadán v base_parameters a v run-now, použije se hodnota z run-now . Proměnné parametrů úkolu slouží k nastavení parametrů obsahujících informace o spuštění úlohy.
  • Pokud poznámkový blok přijímá parametr, který není specifikován v parametrech úlohy base_parameters nebo v parametrech pro přepsání run-now, je použita výchozí hodnota z poznámkového bloku. Načtěte tyto parametry v poznámkovém bloku pomocí dbutils.widgets.get.
notebook_path String Povinné. Cesta poznámkového bloku v pracovním prostoru Databricks nebo vzdáleném úložišti, například /Users/user.name@databricks.com/notebook_to_run. U poznámkových bloků uložených v pracovním prostoru Databricks musí být cesta absolutní a musí začínat lomítkem. U poznámkových bloků uložených ve vzdáleném úložišti musí být cesta relativní.
source String Typ umístění poznámkového bloku Platné hodnoty jsou WORKSPACE a GIT. Po nastavení WORKSPACEse poznámkový blok načte z místního pracovního prostoru Databricks. Po nastavení GITse poznámkový blok načte z úložiště Git definovaného v git_source. Pokud je hodnota prázdná, použije se GIT, pokud je git_source definována, jinak WORKSPACE.
warehouse_id String ID skladu, na němž se poznámkový blok bude spouštět. Klasické sklady SQL se nepodporují. Místo toho používejte bezserverové nebo pro SQL skladiště. Všimněte si, že SQL Warehouse podporují pouze buňky SQL. Pokud poznámkový blok obsahuje buňky jiné než SQL, spuštění selže, takže pokud potřebujete použít Python (nebo jiný jazyk) v buňce, použijte serverless režim.

Examples

Následující příklad přidá úkol poznámkového bloku do úlohy a nastaví parametr úlohy s názvem my_job_run_id. Cesta pro nasazení notebooku je relativní vzhledem ke konfiguračnímu souboru, kde je tento úkol deklarován. Úloha získá poznámkový blok z jeho nasazeného umístění v pracovním prostoru Azure Databricks.

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}}'

Úloha kanálu

Tuto úlohu použijete pro spuštění pipeline. Viz deklarativní kanály Sparku.

Pro úlohu kanálu jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v tématu pipeline_task.

Key Typ Description
full_refresh logický Pokud je true, aktivuje se úplná aktualizace pipeline, která znovu zkompiluje všechny datové soubory v pipeline. Pokud je hodnota false nebo vynechána, budou zpracována pouze přírůstková data. Podrobnosti najdete v tématu sémantiku aktualizace kanálu.
pipeline_id String Povinné. ID pipeliny, která se má spustit. Potrubí už musí existovat.

Examples

Následující příklad přidá úlohu kanálu do úlohy. Tato úloha spustí zadanou pipeline.

Návod

ID kanálu můžete získat tak, že kanál otevřete v pracovním prostoru a zkopírujete hodnotu ID kanálu na kartě Podrobnosti kanálu na stránce nastavení kanálu.

resources:
  jobs:
    my-pipeline-job:
      name: my-pipeline-job
      tasks:
        - task_key: my-pipeline-task
          pipeline_task:
            pipeline_id: 11111111-1111-1111-1111-111111111111

Úloha Power BI

Důležité

Typ úlohy Power BI je ve verzi Public Preview.

Pomocí této úlohy můžete aktivovat aktualizaci sémantického modelu Power BI (dříve označovaného jako datová sada).

Pro úlohu Power BI jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v tématu power_bi_task.

Přidáno do CLI Databricks verze 0.248.0

Key Typ Description
connection_resource_name String Povinné. Název připojení katalogu Unity k ověření z Databricks do Power BI.
power_bi_model String Povinné. Název sémantického modelu (datové sady) Power BI, který se má aktualizovat.
refresh_after_update logický Zda se má po dokončení aktualizace aktualizovat sémantický model Power BI. Výchozí nastavení je „false“.
tables Sekvence Seznam tabulek (každý jako mapa) pro export do Power BI Viz tabulky.
warehouse_id String Identifikátor skladu SQL, který se má použít jako zdroj dat pro Power BI.

Examples

Následující příklad definuje úlohu Power BI, která určuje připojení, model Power BI, který se má aktualizovat, a tabulku Databricks pro export.

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'

Úloha skriptu Pythonu

Tuto úlohu použijete ke spuštění souboru Pythonu.

Pro úlohu skriptu Pythonu jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v python_task.

Key Typ Description
parameters Sekvence Parametry, které se mají předat do souboru Pythonu. Proměnné parametrů úkolu slouží k nastavení parametrů obsahujících informace o spuštění úlohy.
python_file String Povinné. Identifikátor URI souboru Pythonu, který se má spustit, například /Users/someone@example.com/my-script.py. V případě souborů Pythonu uložených v pracovním prostoru Databricks musí být cesta absolutní a musí začínat na /. U souborů uložených ve vzdáleném úložišti musí být cesta relativní. Toto pole nepodporuje odkazy na dynamické hodnoty, jako jsou proměnné.
source String Typ umístění souboru Pythonu. Platné hodnoty jsou WORKSPACE a GIT. Po nastavení WORKSPACEse soubor načte z místního pracovního prostoru Databricks. Při nastavení GITse soubor načte z úložiště Git definovaného v git_source. Pokud je hodnota prázdná, použije se GIT, pokud je git_source definována, jinak WORKSPACE.

Examples

Následující příklad přidá úlohu skriptu Pythonu do úlohy. Cesta k souboru Pythonu, který se má nasadit, je relativní vzhledem ke konfiguračnímu souboru, ve kterém je tato úloha deklarována. Úloha získá soubor ve formátu Python z nasazeného umístění v pracovním prostoru Azure Databricks.

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

Úloha kolečka Pythonu

Tuto úlohu použijete ke spuštění kola Pythonu. Viz Sestavení Python wheel souboru pomocí deklarativních automatizačních balíčků.

Pro úlohu kolečka Pythonu jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v python_wheel_task.

Key Typ Description
entry_point String Povinné. Pojmenovaný vstupní bod k provedení: funkce nebo třída. Pokud v metadatech balíčku neexistuje, spustí funkci z balíčku přímo pomocí $packageName.$entryPoint().
named_parameters Map Pojmenované parametry, které se mají předat úloze kolečka Pythonu, také označují jako argumenty klíčového slova. Pojmenovaný parametr je pár klíč-hodnota s řetězcovým klíčem a řetězcovou hodnotou. Nelze zadat oba parameters a named_parameters. Je-li named_parameters zadán, parameters se předávají jako klíčové argumenty vstupní funkci.
package_name String Povinné. Název balíčku Pythonu, který se má spustit. Všechny závislosti musí být nainstalované v prostředí. Toto nekontroluje ani nenainstaluje žádné závislosti balíčků.
parameters Sekvence Parametry, které se mají předat úloze kolečka Pythonu, označované také jako poziční argumenty. Každý parametr je řetězec. Pokud je zadán, named_parameters nesmí být zadán.

Examples

Následující příklad přidá úlohu kolečka Pythonu do úlohy. Cesta k souboru s balíčkem Python (wheel), který má být nasazen, je relativní k konfiguračnímu souboru, ve kterém je tato úloha definována. Viz závislosti knihoven deklarativních automatizačních balíčků.

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

Spustit úlohu

Tuto úlohu použijete ke spuštění jiné úlohy.

Pro spouštěcí úkol jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v run_job_task.

Key Typ Description
job_id Integer Povinné. ID úlohy, která se má spustit. Úloha už musí existovat v pracovním prostoru.
job_parameters Map Parametry na úrovni úlohy, které se mají předat ke spuštění úlohy. Tyto parametry jsou přístupné v rámci úkolů úlohy.
pipeline_params Map Parametry pro úlohu kanálu Používá se pouze v případě, že spuštěná úloha obsahuje úkol pipeline. Může zahrnovat full_refresh pro spuštění úplného obnovení pipeline.

Examples

Následující příklad obsahuje úlohu ve druhé práci, která spouští první úlohu.

Tento příklad používá substituci k načtení ID úlohy, která se má spustit. Pokud chcete získat ID úlohy z uživatelského rozhraní, otevřete úlohu v pracovním prostoru a zkopírujte ID z hodnoty ID úlohy na kartě Podrobnosti úlohy na stránce nastavení úloh.

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}

Úloha SQL

Tuto úlohu použijete ke spuštění souboru SQL, dotazu nebo výstrahy.

Pro úlohu SQL jsou k dispozici následující klíče. Odpovídající definici objektu rozhraní REST API najdete v tématu sql_task.

Key Typ Description
alert Map Konfigurace pro spuštění výstrahy SQL Obsahuje:
  • alert_id (Řetězec): Povinný parametr. Kanonický identifikátor alertu SQL pro spuštění.
  • pause_subscriptions (Logická hodnota): Určuje, jestli se mají pozastavit odběry upozornění.
  • subscriptions (Sequence): Seznam nastavení předplatného.
dashboard Map Konfigurace pro aktualizaci řídicího panelu SQL Obsahuje:
  • dashboard_id (Řetězec): Povinný parametr. Kanonický identifikátor řídicího panelu SQL, který se má aktualizovat.
  • custom_subject (Řetězec): Vlastní předmět e-mailu odeslaného odběratelům řídicího panelu.
  • pause_subscriptions (Logická hodnota): Určuje, jestli se mají pozastavit předplatná řídicího panelu.
  • subscriptions (Sequence): Seznam nastavení předplatného.
file Map Konfigurace pro spuštění souboru SQL Obsahuje:
  • path (Řetězec): Povinný parametr. Cesta k souboru SQL v pracovním prostoru nebo vzdáleném úložišti U souborů uložených v pracovním prostoru Databricks musí být cesta absolutní a musí začínat lomítkem. U souborů uložených ve vzdáleném úložišti musí být cesta relativní.
  • source (String): Typ umístění souboru SQL. Platné hodnoty jsou WORKSPACE a GIT.
parameters Map Parametry, které se mají použít pro každé spuštění této úlohy. Dotazy a soubory SQL můžou tyto parametry použít tak, že na ně odkazují syntaxe {{parameter_key}}. Proměnné parametrů úkolu slouží k nastavení parametrů obsahujících informace o spuštění úlohy.
query Map Konfigurace pro spuštění dotazu SQL Obsahuje:
  • query_id (Řetězec): Povinný parametr. Kanonický identifikátor dotazu SQL, který se má spustit.
warehouse_id String Povinné. ID SQL Warehouse, které se má použít ke spuštění úlohy SQL. SQL Warehouse už musí existovat.

Examples

Návod

Pokud chcete získat ID SQL Warehouse, otevřete stránku nastavení SQL Warehouse a potom zkopírujte ID nalezené v závorkách za názvem skladu v poli Název na kartě Přehled .

Následující příklad přidá úlohu souboru SQL do úlohy. Tato úloha souboru SQL používá zadaný SQL Warehouse ke spuštění zadaného souboru SQL.

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

Následující příklad přidá úlohu upozornění SQL do úlohy. Tato úloha upozornění SQL používá zadaný SQL Warehouse k aktualizaci zadané výstrahy SQL.

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

Následující příklad přidá úlohu dotazu SQL do úlohy. Tato úloha dotazu SQL používá zadaný SQL Warehouse ke spuštění zadaného dotazu SQL.

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

Další nastavení úkolů

Následující nastavení úloh umožňuje konfigurovat chování pro všechny úkoly. Odpovídající definice objektů rozhraní REST API najdete v úlohách.

Key Typ Description
compute Map Konfigurace výpočetních prostředků na úrovni úlohy Každá položka obsahuje:
  • hardware_accelerator (Řetězec): Konfigurace hardwarového akcelerátoru pro úlohy bezserverového GPU. Platné hodnoty jsou GPU_1xA10 a GPU_8xH100.
depends_on Sekvence Volitelný seznam závislostí úkolů. Každá položka obsahuje:
  • task_key (Řetězec): Povinný parametr. Klíč úkolu, na který tento úkol závisí.
  • outcome (Řetězec): Lze zadat pouze pro condition_task. Pokud je zadáno, spustí se závislá úloha pouze v případě, že se podmínka vyhodnotí jako zadaný výsledek (buď true nebo false).
description String Volitelný popis úkolu.
disable_auto_optimization logický Zda zakázat automatickou optimalizaci pro tuto úlohu. Pokud ano, automatické optimalizace, jako je adaptivní spouštění dotazů, se zakáže.
email_notifications Map Volitelná sada e-mailových adres, která vás upozorní na zahájení, dokončení nebo selhání spuštění. Každá položka obsahuje:
  • on_start (Sequence): Seznam e-mailových adres, které se mají informovat při spuštění.
  • on_success (Sequence): Seznam e-mailových adres, které mají být oznámeny, když se spuštění úspěšně dokončí.
  • on_failure (Sequence): Seznam e-mailových adres, na které se mají zaslat oznámení, když se spuštění nezdaří.
  • on_duration_warning_threshold_exceeded (Sequence): Seznam e-mailových adres, které budou upozorněny, když doba trvání běhu překročí prahovou hodnotu.
  • on_streaming_backlog_suceeded (Sekvence): Seznam e-mailových adres pro zasílání upozornění při překročení prahových hodnot nashromážděného provozu streamování pro jakýkoliv stream.
environment_key String Klíč prostředí definovaného v konfiguraci úlohy environments . Slouží k zadání nastavení specifických pro prostředí. Toto pole se vyžaduje pro skripty Pythonu, kola Pythonu a úlohy dbt při použití bezserverového výpočetního prostředí.
existing_cluster_id String ID existujícího clusteru, který se použije pro všechna spuštění této úlohy.
health Map Volitelná specifikace monitorování stavu této úlohy, která obsahuje rules klíč, což je seznam pravidel stavu, která se mají vyhodnotit.
job_cluster_key String Klíč clusteru úloh definovaného v konfiguraci úlohy job_clusters .
libraries Sekvence Volitelný seznam knihoven, které se mají nainstalovat do clusteru, který spustí úlohu. Každá knihovna je určena jako mapa s klíči jako jar, egg, whl, pypi, maven, crannebo requirements.
max_retries Integer Volitelný maximální počet opakování úlohy, pokud selže. Pokud ho nezadáte, úloha se nebude opakovat.
min_retry_interval_millis Integer Volitelný minimální interval v milisekundách mezi spuštěním neúspěšného spuštění a následným opakovaným spuštěním. Pokud není zadáno, výchozí hodnota je 0 (okamžité opakování).
new_cluster Map Specifikace pro vytvoření nového clusteru pro každé spuštění této úlohy. Viz cluster.
notification_settings Map Volitelná nastavení oznámení pro tuto úlohu Každá položka obsahuje:
  • no_alert_for_skipped_runs (Logická hodnota): Pokud je true, neodesílejte oznámení o přeskočených spuštěních.
  • no_alert_for_canceled_runs (Logická hodnota): Pokud je true, neodesílejte oznámení o zrušených spuštěních.
  • alert_on_last_attempt (Logická hodnota): Pokud je true, odešlete oznámení pouze při posledním pokusu o opakování.
retry_on_timeout logický Volitelná zásada určující, jestli se má úloha opakovat, když vyprší časový limit. Pokud není zadáno, výchozí hodnota je false.
run_if String Volitelná hodnota označující podmínku, pod kterou má úloha běžet. Platné hodnoty jsou:
  • ALL_SUCCESS (výchozí): Spustí se, pokud jsou všechny závislosti úspěšné.
  • AT_LEAST_ONE_SUCCESS: Spusťte, pokud alespoň jeden předpoklad bude úspěšný.
  • NONE_FAILED: Pokud nedošlo k selhání žádné závislosti, spusťte ho.
  • ALL_DONE: Spustit, když jsou všechny závislosti dokončeny bez ohledu na výsledek.
  • AT_LEAST_ONE_FAILED: Pokud alespoň jedna závislost selže, spusťte ji.
  • ALL_FAILED: Spustí se, pokud všechny závislosti selžou.
task_key String Povinné. Jedinečný název úkolu. Toto pole slouží k odkazu na tento úkol z jiných úkolů pomocí pole depends_on.
timeout_seconds Integer Volitelný časový limit použitý pro každé spuštění této úlohy. Hodnota 0 znamená žádný časový limit. Pokud není nastavený, použije se výchozí časový limit konfigurace clusteru.
webhook_notifications Map Volitelná sada cílů systému, která vás upozorní na zahájení, dokončení nebo selhání spuštění. Každá položka obsahuje:
  • on_start (Sequence): Seznam cílů oznámení při spuštění běhu.
  • on_success (Sequence): Seznam cílů notifikace po dokončení běhu.
  • on_failure (Sequence): Seznam cílů oznámení v případě selhání spuštění
  • on_duration_warning_threshold_exceeded (Sekvence): Seznam cílů oznámení, pokud doba trvání běhu překročí prahovou hodnotu.
  • on_streaming_backlog_suceeded (Sekvence): Seznam e-mailových adres pro zasílání upozornění při překročení prahových hodnot nashromážděného provozu streamování pro jakýkoliv stream.