Přístup k hodnotám parametrů z úkolu

Přistupujte z kódu k hodnotám parametrů ve svých úlohách, včetně poznámkových bloků Azure Databricks, skriptů Pythonu a souborů SQL.

Parametry zahrnují uživatelem definované parametry, výstup hodnot z upstreamových úloh a hodnoty metadat generované úlohou. Viz Parametrizovat úlohy.

I když se podrobnosti liší podle typu úlohy, existují čtyři běžné metody, které se používají k odkazu na hodnoty parametrů ze zdrojového kódu:

V každém z těchto případů odkazujete na klíč parametru a načtete jeho hodnotu. Klíč se někdy označuje jako název parametru.

Pokud chcete zobrazit tyto techniky použité v úloze řízené metadaty, která používá úlohu SQL a For each úkol, přečtěte si téma Použití řídicí tabulky k řízení For each úlohy.

Použijte dbutils v kódu v poznámkovém bloku

Kód poznámkového bloku spuštěný v úloze má přístup k hodnotám parametrů pomocí knihovny dbutils . Následující příklad ukazuje, jak pomocí dbutils v Python získat hodnotu parametru úkolu year_param, který je předán do úlohy poznámkového bloku.

# Retrieve a job-level parameter
year_value = dbutils.widgets.get("year_param")

# Use the value in your code
display(babynames.filter(babynames.Year == year_value))

K parametrům se přistupuje podle názvu. Pokud parametr úlohy a parametr úkolu sdílejí klíč, má přednost parametr úlohy. Viz tlačení parametrů úlohy.

Výše uvedený kód způsobí chybu při spuštění v samostatném poznámkovém bloku, a ne jako součást úlohy, protože parametry se neodesílají do samostatného poznámkového bloku. Výchozí hodnotu parametru year_param můžete nastavit pomocí následujícího kódu:

# Set a default (for when not running in a job)
dbutils.widgets.text("year_param", "2012", "Year Parameter")

# Retrieve a job-level parameter (will use default if it doesn't exist)
year_value = dbutils.widgets.get("year_param")

# Use the value in your code
display(babynames.filter(babynames.Year == year_value))

I když je to užitečné pro testování mimo job, zároveň to zakrývá chybně nakonfigurované parametry úlohy nebo jobu.

Použití pojmenovaných parametrů v SQL

Když v poznámkovém bloku nebo úloze kanálu spouštíte SQL, můžete k načtení parametrů úlohy použít syntaxi pojmenovaného parametru. Pokud chcete například načíst parametr úkolu s názvem year_param, můžete získat jeho hodnotu pomocí :year_param v dotazu:

SELECT *
FROM baby_names_prepared
WHERE Year_Of_Birth = :year_param
GROUP BY First_Name

Argumenty kódu pro přístup

Pro některé typy úkolů jsou parametry předány kódu jako argumenty. Následující typy úkolů mají předané argumenty:

  • Python script
  • Python Wheel
  • JAR
  • Spark Submit

Podrobnosti najdete v části Podrobnosti podle typu úkolu později na této stránce.

U dbt úkolů se parametry předávají voláním příkazů dbt ve vašem úkolu.

Použití odkazů na dynamické hodnoty při konfiguraci úlohy

Při konfiguraci úlohy v uživatelském rozhraní Azure Databricks použijte syntaxi odkazu na dynamickou hodnotu k načtení parametrů úlohy nebo jiných dynamických hodnot. K načtení parametrů úlohy použijte syntaxi: {{job.parameters.<name>}}. Například při konfiguraci úlohy Python wheel, Můžete nastavit vstupy parametru Key a Value odkazovat na parametr úlohy s názvem year_param, například year / Year_{{job.parameters.year_param}}. Kromě poskytnutí přístupu k parametrům v konfiguraci poskytují dynamické hodnoty také přístup k jiným datům o vaší úloze nebo úkolu, {{job.id}}například . Kliknutím {} na konfiguraci úlohy získáte seznam možných dynamických hodnot a vložíte je do konfigurace.

Podrobnosti podle typu úkolu

Která z těchto metod, které použijete, závisí na typu úkolu.

Typ úkolu Načíst v konfiguraci Získat v kódu
Poznámkové bloky Pomocí odkazů na dynamické hodnoty v uživatelském rozhraní Azure Databricks můžete nakonfigurovat poznámkový blok (například odkazovat na parametry úlohy v hodnotách parametrů úkolu). Pokud ručně spustíte úlohu pomocí možnosti Spustit úlohu s jinou možností nastavení , můžete přepsat nebo přidat další parametry. Pojmenované parametry pro SQL můžete použít buď ve vašem poznámkovém bloku, nebo dbutils.widgets ve vašem kódu.
skript Python Parametry definované v úloze se předávají jako argumenty skriptu. V textovém poli Parametry můžete použít odkazy na dynamické hodnoty. Parametry lze číst jako poziční argumenty nebo analyzovat pomocí modulu argparse v Python.
Python kolečko Parametry definované v definici úkolu se předávají jako argumenty klíčových slov kódu. Soubory kol Python musí být nakonfigurované tak, aby přijímaly argumenty klíčových slov. V hodnotách parametrů můžete použít odkazy na dynamické hodnoty. Přístup jako klíčové argumenty k vašemu skriptu Příklad čtení argumentů ve skriptu Python zabaleného v souboru kola Python najdete v tématu Použití souboru kola Python v úlohách Lakeflow.
SQL V konfiguraci úlohy můžete použít odkazy na dynamické hodnoty. K načtení hodnot parametrů použijte pojmenované parametry.
Kanál (parametry jsou v beta verzi) Odkazy na dynamické hodnoty můžete použít k předání parametrů jako argumentů v textovém poli Parametry při konfiguraci úkolu. K načtení hodnot parametrů použijte pojmenované parametry.
Řídicí panel Hodnoty filtru můžete předem použít tak, že v úloze nakonfigurujete filtry řídicího panelu . Pokud identifikátor adresy URL filtru odpovídá klíči parametru na úrovni úlohy, úloha automaticky použije hodnotu daného parametru na filtr. Nelze použít.
Power BI Power BI úlohy nepodporují předávání parametrů úkolu. Nepodporováno
dbt Při konfiguraci úlohy můžete použít odkazy na dynamické hodnoty k předání parametrů jako dbt příkazů. Přístup jako příkazy dbt.
DÓZA Odkazy na dynamické hodnoty můžete použít k předání parametrů jako argumentů v textovém poli Parametry při konfiguraci úkolu. Parametry jsou přístupné jako argumenty hlavní metody hlavní třídy.
Odeslání Sparku Odkazy na dynamické hodnoty můžete použít k předání parametrů jako argumentů v textovém poli Parametry při konfiguraci úkolu. Parametry jsou přístupné jako argumenty pro hlavní metodu hlavní třídy.
Spustit úlohu Pomocí odkazů na dynamické hodnoty můžete při konfiguraci úkolu vytvořit sadu parametrů úlohy . Tyto hodnoty mohou obsahovat odkazy na dynamické hodnoty. Nelze použít.
Podmínka If/else Při konfiguraci úkolu, například v podmínce, můžete použít odkazy na dynamické hodnoty. Nelze použít.
Pro každé Při konfiguraci vstupů pro úlohu můžete použít odkazy na dynamické hodnoty. Vnořená úloha obdrží jeden vstup jako parametr úkolu pro každou iteraci vnořené úlohy. Vnořené úkoly načítají parametry na základě typu úlohy.
Poznámkový blok čistého prostoru Pomocí odkazů na dynamické hodnoty v uživatelském rozhraní Azure Databricks můžete nakonfigurovat poznámkový blok (například odkazovat na parametry úlohy v hodnotách parametrů úkolu). Pojmenované parametry pro SQL můžete použít buď ve vašem poznámkovém bloku, nebo dbutils.widgets ve vašem kódu.