Parameterwaarden van een taak openen

Toegang tot parameterwaarden uit code in uw taken, waaronder Azure Databricks notebooks, Python scripts en SQL-bestanden.

Parameters omvatten door de gebruiker gedefinieerde parameters, waarden die worden uitgevoerd uit upstream-taken en metagegevenswaarden die door de taak worden gegenereerd. Zie Taken parameteriseren.

Hoewel de details variëren per taaktype, zijn er vier algemene methoden die worden gebruikt om te verwijzen naar parameterwaarden uit broncode:

In elk van deze gevallen verwijst u naar de sleutel van de parameter om de waarde op te halen. De sleutel wordt soms de naam van de parameter genoemd.

Zie For each deze technieken te zien die zijn toegepast in een metagegevensgestuurde taak die gebruikmaakt van een SQL-taak en een For each taak.

dbutils gebruiken in code in een notebook

Notebookcode die in een taak wordt uitgevoerd, heeft toegang tot de waarden van parameters met de dbutils-bibliotheek. In het volgende voorbeeld ziet u hoe u dbutils gebruikt in Python om de waarde op te halen van een year_param-taakparameter die wordt doorgegeven aan de notebook-taak.

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

Parameters worden aangesproken op naam. Als een taakparameter en een taakparameter een sleutel delen, heeft de taakparameter voorrang. Zie Job parameter pushdown.

De bovenstaande code produceert een fout wanneer deze wordt uitgevoerd in een zelfstandig notebook en niet als onderdeel van een taak omdat parameters niet worden verzonden naar een zelfstandig notebook. U kunt een standaardwaarde instellen voor de parameter year_param met de volgende code:

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

Hoewel dit handig is voor het testen buiten een taak, worden ook onjuist geconfigureerde taak- of taakparameters gemaskeerd.

Benoemde parameters gebruiken in SQL

Wanneer u SQL uitvoert in een notebook- of pijplijntaak, kunt u de benoemde parametersyntaxis gebruiken om taakparameters op te halen. Als u bijvoorbeeld een taakparameter met de naam year_paramwilt ophalen, kunt u de waarde ervan ophalen met behulp van :year_param uw query:

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

Access als code-argumenten

Voor sommige taaktypen worden parameters als argumenten doorgegeven aan de code. De volgende taaktypen krijgen argumenten doorgegeven:

  • Python script
  • Python Wheel
  • JAR
  • Spark Submit

Zie Details per taaktype verderop op deze pagina voor meer informatie.

Voor dbt taken worden de parameters doorgegeven door dbt-opdrachten in uw taak aan te roepen.

Dynamische waardeverwijzingen gebruiken bij het configureren van een taak

Wanneer u een taak configureert in de gebruikersinterface van Azure Databricks, gebruikt u de syntaxis van de verwijzing naar dynamische waarden om taakparameters of andere dynamische waarden op te halen. Als u taakparameters wilt ophalen, gebruikt u de syntaxis: {{job.parameters.<name>}}. Bijvoorbeeld wanneer u een taak Python wheel configureert, u kunt de invoer voor Key en Value instellen om te verwijzen naar een taakparameter met de naam year_param, zoals year / Year_{{job.parameters.year_param}}. Naast het verlenen van toegang tot parameters in de configuratie, bieden dynamische waarden je ook toegang tot andere gegevens over je taak of opdracht, bijvoorbeeld de {{job.id}}. U kunt in de taakconfiguratie op {} klikken om een lijst met mogelijke dynamische waarden op te halen en deze in uw configuratie in te voegen.

Details per taaktype

Welke van deze methoden u gebruikt, is afhankelijk van het taaktype.

Taaktype Ophalen in de configuratie In code ophalen
Notebooks U kunt dynamische waardeverwijzingen in de Azure Databricks-gebruikersinterface gebruiken om het notebook te configureren (bijvoorbeeld om te verwijzen naar taakparameters in de taakparameterwaarden). U kunt extra parameters overschrijven of toevoegen wanneer u een taak handmatig uitvoert met behulp van de optie Een taak uitvoeren met verschillende instellingen . U kunt benoemde parameters voor SQL in uw notebook gebruiken of dbutils.widgets in uw code.
Python script Parameters die in de taak zijn gedefinieerd, worden doorgegeven als argumenten voor uw script. U kunt dynamische waardeverwijzingen gebruiken in het tekstvak Parameters. De parameters kunnen worden gelezen als positionele argumenten of geparseerd met behulp van de module argparse in Python.
Python wheel Parameters die in de taakdefinitie zijn gedefinieerd, worden doorgegeven als trefwoordargumenten aan uw code. Uw Python wielbestanden moeten worden geconfigureerd om trefwoordargumenten te accepteren. U kunt dynamische waardeverwijzingen gebruiken in de waarden van uw parameters. Verkrijg als trefwoordargumenten voor uw script. Zie Een Python wielbestand gebruiken in Lakeflow-taken voor een voorbeeld van het lezen van argumenten in een Python script dat is verpakt in een Python wheel-bestand.
SQL U kunt dynamische waardeverwijzingen gebruiken in de taakconfiguratie. Gebruik benoemde parameters om parameterwaarden op te halen.
Pijplijn (parameters zijn in Beta) U kunt dynamische waardeverwijzingen gebruiken om parameters door te geven als argumenten in het tekstvak Parameters bij het configureren van uw taak. Gebruik benoemde parameters om parameterwaarden op te halen.
Dashboard U kunt filterwaarden vooraf toepassen door dashboardfilters in de taak te configureren. Als de URL-id van een filter overeenkomt met een parametersleutel op taakniveau, wordt de waarde van die parameter automatisch toegepast op het filter. Niet van toepassing.
Power BI Power BI taken bieden geen ondersteuning voor het doorgeven van parameters aan de taak. Wordt niet ondersteund.
dbt U kunt dynamische waardeverwijzingen gebruiken om parameters door te geven als dbt opdrachten bij het configureren van uw taak. Toegang als dbt opdrachten.
POT U kunt dynamische waardeverwijzingen gebruiken om parameters door te geven als argumenten in het tekstvak Parameters bij het configureren van uw taak. Parameters worden gebruikt als argumenten voor de hoofdmethode van de hoofdklasse.
Spark Submit U kunt dynamische waardeverwijzingen gebruiken om parameters door te geven als argumenten in het tekstvak Parameters bij het configureren van uw taak. Parameters worden gebruikt als argumenten voor de hoofdmethode van de hoofdklasse.
Taak uitvoeren U kunt dynamische waardeverwijzingen gebruiken om een set taakparameters te maken bij het configureren van uw taak. De waarden kunnen dynamische waardeverwijzingen bevatten. Niet van toepassing.
If/else-voorwaarde U kunt dynamische waardeverwijzingen gebruiken bij het configureren van uw taak, bijvoorbeeld in de Voorwaarde. Niet van toepassing.
Voor elke U kunt dynamische waardeverwijzingen gebruiken bij het configureren van de Invoer voor uw taak. De geneste taak ontvangt één invoer als taakparameter voor elke iteratie van de geneste taak. De geneste taken halen parameters op op basis van het taaktype.
notitieblok schone ruimte U kunt dynamische waardeverwijzingen in de Azure Databricks-gebruikersinterface gebruiken om het notebook te configureren (bijvoorbeeld om te verwijzen naar taakparameters in de taakparameterwaarden). U kunt benoemde parameters voor SQL in uw notebook gebruiken of dbutils.widgets in uw code.