Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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:
- Widgety nástrojů Databricks
- Syntaxe pojmenovaného parametru SQL
- Odkazy na dynamické hodnoty
- Argumenty 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 scriptPython WheelJARSpark 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. |