Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
- widżety narzędzi Databricks
- składnia parametrów nazwanych SQL
- odwołania do wartości dynamicznych
- Argumenty kodu
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 scriptPython WheelJARSpark 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. |