Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
- 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 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 scriptPython WheelJARSpark 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. |