Uzyskiwanie dostępu do wartości parametrów z zadania

Uzyskaj dostęp do wartości parametrów z kodu w zadaniach, w tym notesów Azure Databricks, skryptów Python i plików SQL.

Parametry obejmują parametry zdefiniowane przez użytkownika, wartości wyjściowe z zadań nadrzędnych i wartości metadanych wygenerowane przez zadanie. Zobacz Sparametryzowanie zadań.

Chociaż szczegóły różnią się w zależności od typu zadania, istnieją cztery typowe metody używane do odwołowania się do wartości parametrów z kodu źródłowego:

W każdym z tych przypadków należy odwołać się do klucza parametru, aby pobrać jego wartość. Klucz jest czasami określany jako nazwa parametru.

Aby wyświetlić te techniki stosowane w zadaniu opartym na metadanych, które używa zadania SQL i For each zadania, zobacz Używanie tabeli sterowania do napędzania For each zadania.

Używaj dbutils w kodzie w notatniku

Kod notebooka uruchomiony w zadaniu może uzyskać dostęp do wartości parametrów za pomocą biblioteki dbutils. W poniższym przykładzie pokazano, jak używać dbutils w języku Python, aby uzyskać wartość parametru zadania year_param przekazanego do zadania notatnika.

from pyspark.sql.functions import year

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

# Use the value to filter bookings by check-in year
display(spark.read.table("samples.wanderbricks.bookings").filter(year("check_in") == year_value))

Dostęp do parametrów jest uzyskiwany według nazwy. Jeśli parametr zadania i parametr czynności mają ten sam klucz, pierwszeństwo ma parametr zadania. Zobacz Wypychanie parametru zadania.

Powyższy kod generuje błąd podczas uruchamiania w notesie autonomicznym, a nie w ramach zadania, ponieważ parametry nie są wysyłane do autonomicznego notesu. Możesz ustawić wartość domyślną dla parametru year_param przy użyciu następującego kodu:

from pyspark.sql.functions import year

# Set a default for when the notebook runs outside a job
dbutils.widgets.text("year_param", "2025", "Year Parameter")

# Retrieve the parameter, falling back to the default if it isn't set
year_value = dbutils.widgets.get("year_param")

display(spark.read.table("samples.wanderbricks.bookings").filter(year("check_in") == year_value))

Chociaż jest to przydatne do testowania poza zadaniem, maskuje również błędnie skonfigurowane parametry zadania lub zadania.

Używanie nazwanych parametrów w języku SQL

Gdy uruchamiasz kod SQL w notesie lub w zadaniu potoku, możesz użyć składni parametrów nazwanych, aby pobrać parametry zadania. Aby na przykład pobrać parametr zadania o nazwie year_param, możesz pobrać jego wartość przy użyciu :year_param polecenia w zapytaniu:

SELECT year(check_in) AS year_of_stay, count(*) AS bookings, round(avg(total_amount), 2) AS avg_amount
FROM samples.wanderbricks.bookings
WHERE year(check_in) = :year_param
GROUP BY year(check_in)

Dostęp jako argumenty kodu

W przypadku niektórych typów zadań parametry są przekazywane do kodu jako argumenty. Do następujących typów zadań są przekazywane argumenty:

  • Python script
  • Python Wheel
  • JAR
  • Spark Submit

Aby uzyskać szczegółowe informacje, zobacz Szczegóły według typu zadania w dalszej części tej strony.

W przypadku zadań dbt parametry są przekazywane przez wywołanie poleceń dbt w zadaniu.

Używanie odwołań do wartości dynamicznych podczas konfigurowania zadania

Podczas konfigurowania zadania w interfejsie użytkownika Azure Databricks użyj składni referencyjnej wartości dynamicznej, aby pobrać parametry zadania lub inne wartości dynamiczne. Aby pobrać parametry zadania, użyj składni : {{job.parameters.<name>}}. Na przykład podczas konfigurowania zadania Python wheel, Można ustawić parametr Key i Value, aby odwołać się do parametru zadania o nazwie year_param, takiego jak year / Year_{{job.parameters.year_param}}. Oprócz zapewnienia dostępu do parametrów w konfiguracji, wartości dynamiczne umożliwiają również dostęp do innych danych dotyczących twojej pracy lub zadania, na przykład {{job.id}}. Możesz kliknąć {} w konfiguracji zadań, aby uzyskać listę możliwych wartości dynamicznych i wstawić je do konfiguracji.

Szczegóły według typu zadania

Które z tych metod, których używasz, zależą od typu zadania.

Typ zadania Pobierz w konfiguracji Pobierz w kodzie
Zeszyty Odwołania do dynamicznych wartości można użyć w interfejsie użytkownika Azure Databricks do skonfigurowania notatnika (na przykład w celu odwoływania się do parametrów w wartościach zadania). Możesz zastąpić lub dodać dodatkowe parametry podczas ręcznego uruchamiania zadania przy użyciu opcji Uruchom zadanie z różnymi ustawieniami . Możesz użyć nazwanych parametrów dla języka SQL w notesie lub dbutils.widgets w kodzie.
skrypt Python Parametry zdefiniowane w zadaniu są przekazywane jako argumenty do skryptu. Możesz użyć odwołań do wartości dynamicznych w polu tekstowym Parametry . Parametry można odczytywać jako argumenty pozycyjne lub analizować przy użyciu modułu argparse w Python.
Koło języka Python Parametry zdefiniowane w definicji zadania są przekazywane jako argumenty kluczowe do kodu. Pliki Python wheel muszą być skonfigurowane tak, aby akceptowały argumenty słowa kluczowego. Możesz używać odwołań do wartości dynamicznych w parametrach. Wykorzystaj argumenty słowa kluczowego w swoim skrypcie. Aby zapoznać się z przykładem odczytywania argumentów w skrypcie Python spakowanym w pliku wheel Python, zobacz Użyj pliku wheel Python w zadaniach Lakeflow.
SQL W konfiguracji zadania można używać odniesień do wartości dynamicznych. Użyj nazwanych parametrów, aby pobrać wartości parametrów.
Pipeline (parametry są w fazie beta) Podczas konfigurowania zadania można użyć odwołań do wartości dynamicznych, aby przekazać parametry jako argumenty w polu tekstowym parametrów . Użyj nazwanych parametrów, aby pobrać wartości parametrów.
Pulpit nawigacyjny Wartości filtrów można wstępnie zastosować, konfigurując filtry pulpitu nawigacyjnego w zadaniu. Jeśli identyfikator adresu URL filtru jest zgodny z kluczem parametru na poziomie zadania, zadanie automatycznie stosuje wartość tego parametru do filtru. Nie dotyczy.
Power BI Zadania Power BI nie obsługują przekazywania parametrów do zadań. Nie jest obsługiwane.
dbt Możesz użyć odwołań do wartości dynamicznych, aby przekazywać parametry jako polecenia dbt podczas konfigurowania zadania. Uzyskaj dostęp jako polecenia dbt.
SŁOIK Podczas konfigurowania zadania można użyć odwołań do wartości dynamicznych, aby przekazać parametry jako argumenty w polu tekstowym parametrów . Dostęp do parametrów jest uzyskiwany jako argumenty do głównej metody klasy main.
Przesyłanie Spark Podczas konfigurowania zadania można użyć odwołań do wartości dynamicznych, aby przekazać parametry jako argumenty w polu tekstowym parametrów . Dostęp do parametrów jest uzyskiwany jako argumenty do głównej metody klasy main.
Uruchamianie zadania Referencje do wartości dynamicznych umożliwiają utworzenie zestawu parametrów zadania podczas konfigurowania zadania. Wartości mogą zawierać odwołania do wartości dynamicznych. Nie dotyczy.
instrukcja warunkowa if/else Można użyć odwołań do wartości dynamicznych podczas konfigurowania zadania, na przykład w warunku. Nie dotyczy.
Dla każdego Odwołania do wartości dynamicznych można użyć podczas konfigurowania danych wejściowych dla zadania. Zagnieżdżone zadanie otrzymuje jedno dane wejściowe jako parametr zadania dla każdej iteracji zagnieżdżonego zadania. Zagnieżdżone zadania pobierają parametry na podstawie typu zadania.
Notes do czystego pomieszczenia Odwołania do dynamicznych wartości można użyć w interfejsie użytkownika Azure Databricks do skonfigurowania notatnika (na przykład w celu odwoływania się do parametrów w wartościach zadania). Możesz użyć nazwanych parametrów dla języka SQL w notesie lub dbutils.widgets w kodzie.