Udostępnij przez


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

W tym artykule opisano sposób uzyskiwania dostępu do wartości parametrów z kodu w zadaniach, w tym notesów usługi Databricks, skryptów języka 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 w celu uzyskania dostępu do jego wartości. Klucz jest czasami określany jako nazwa parametru.

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 za pomocą dbutils w języku Python uzyskać wartość parametru zadania year_param przekazanego do zadania w notebooku.

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

Dostęp do parametrów jest uzyskiwany według nazwy. Jeśli masz parametry zadania i parametry pracy o tej samej nazwie, zostaną pobrane parametry pracy.

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:

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

Chociaż jest to przydatne do testowania poza zadaniem, ma również wadę ukrywania, gdy parametry zadania lub zadania nie są poprawnie skonfigurowane.

Używanie nazwanych parametrów w notesie SQL

W przypadku uruchamiania SQL w zadaniu w notesie można użyć składni parametru o nazwie , aby uzyskać dostęp do parametrów zadania. Aby na przykład uzyskać dostęp do parametru zadania o nazwie year_param, możesz uzyskać jego wartość przy użyciu :year_param w zapytaniu:

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

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 tego artykułu.

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 usługi Azure Databricks użyj składni odwołań dynamicznych , aby uzyskać dostęp do parametrów zadania lub innych wartości dynamicznych. Aby uzyskać dostęp do parametrów zadania, użyj składni: {{job.parameters.<name>}}. Na przykład podczas konfigurowania zadania Python wheel można ustawić klucz parametru oraz dane wejściowe wartości , aby odwoływać się do parametru zadania o nazwie year_param, na przykład 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 Dostęp do konfiguracji Dostęp w kodzie
Zeszyty Można użyć odwołań do wartości dynamicznych w interfejsie użytkownika usługi Azure Databricks do skonfigurowania notesu (na przykład, aby odnosić się do parametrów zadania w wartościach parametrów). 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 języka 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 języku Python.
Koło języka Python Parametry zdefiniowane w definicji zadania są przekazywane jako argumenty kluczowe do kodu. Pliki wheel języka Python 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 języka Python spakowanym w pliku koła Python, zobacz Use a Python wheel file in Lakeflow Jobs.
SQL W konfiguracji zadania można używać odniesień do wartości dynamicznych. Użyj nazwanych parametrów, aby uzyskać dostęp do wartości parametrów.
Rurociąg Rurki nie obsługują przekazywania parametrów do zadania. Nie jest obsługiwane.
Pulpit nawigacyjny Zadania pulpitu nawigacyjnego nie obsługują przekazywania parametrów do zadania. Nie jest obsługiwane.
Power BI Zadania usługi Power BI nie obsługują przekazywania parametrów do zadania. 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 uzyskują dostęp do parametrów w zależności od typu zadania.
Notes do czystego pomieszczenia Można użyć odwołań do wartości dynamicznych w interfejsie użytkownika usługi Azure Databricks do skonfigurowania notesu (na przykład, aby odnosić się do parametrów zadania w wartościach parametrów). Możesz użyć nazwanych parametrów dla języka SQL w notesie lub dbutils.widgets w kodzie.