Delen via


Parameterwaarden van een taak openen

In dit artikel wordt beschreven hoe u toegang hebt tot parameterwaarden uit code in uw taken, waaronder 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 toegang te krijgen tot de waarde. De sleutel wordt soms de naam van de parameter genoemd.

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 notebooktaak.

# 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 u taakparameters en taakparameters met dezelfde naam hebt, worden de taakparameters opgehaald.

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, heeft het ook het nadeel van verbergen wanneer taak- of taakparameters niet correct zijn ingesteld.

Benoemde parameters gebruiken in een SQL-notebook

Wanneer u SQL uitvoert in een notebooktaak, kunt u de benoemde parameter syntaxis gebruiken om toegang te krijgen tot taakparameters. Als u bijvoorbeeld toegang wilt krijgen tot een taakparameter met de naam year_param, kunt u de waarde ervan ophalen met behulp van :year_param in 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 taaktypeverderop in dit artikel 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 verwijzing naar dynamische waarden syntaxis voor toegang tot taakparameters of andere dynamische waarden. Als u toegang wilt krijgen tot taakparameters, gebruikt u de syntaxis: {{job.parameters.<name>}}. Wanneer u bijvoorbeeld een Python wheel taak configureert, kunt u de sleutel en waarde van een parameter instellen om te verwijzen naar een taakparameter genaamd 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 Toegang binnen configuratie Toegang in code
Notebooks U kunt dynamische waardeverwijzingen gebruiken in de Gebruikersinterface van Azure Databricks 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 argparse module in Python.
Python-wiel 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-wielbestand.
SQL U kunt dynamische waardeverwijzingen gebruiken in de taakconfiguratie. Gebruik benoemde parameters voor toegang tot parameterwaarden.
Pijplijn Pijplijnen bieden geen ondersteuning voor het doorgeven van parameters aan de taak. Wordt niet ondersteund.
Dashboard Dashboardtaken bieden geen ondersteuning voor het doorgeven van parameters aan de taak. Wordt niet ondersteund.
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. Geneste taken hebben toegang tot parameters, afhankelijk van het taaktype.
notitieblok schone ruimte U kunt dynamische waardeverwijzingen gebruiken in de Gebruikersinterface van Azure Databricks 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.