Delen via


Wat is een verwijzing naar dynamische waarden?

Dynamische waardeverwijzingen beschrijven een verzameling variabelen die beschikbaar zijn bij het configureren van taken en taken. Gebruik dynamische waardeverwijzingen om voorwaardelijke instructies te configureren voor taken of om informatie door te geven als parameters of argumenten.

Dynamische waardeverwijzingen bevatten informatie zoals:

  • Geconfigureerde waarden voor de taak, inclusief de taaknaam, taaknamen en triggertype.
  • Gegenereerde metagegevens over de taak, inclusief de taak-id, de uitvoerings-id en de begintijd van de taakuitvoering.
  • Informatie over het aantal herstelpogingen dat een taak heeft uitgevoerd of een nieuwe poging heeft gedaan om een taak uit te voeren.
  • De resultaatstatus voor een opgegeven taak.
  • Waarden die zijn geconfigureerd met behulp van taakparameters, taakparameters of instellen met behulp van taakwaarden.

Dynamische waardeverwijzingen gebruiken

Gebruik dynamische waardeverwijzingen bij het configureren van taken of taken. U kunt niet rechtstreeks verwijzen naar dynamische waardeverwijzingen van assets die zijn geconfigureerd met behulp van taken zoals notebooks, query's of JAR's. Dynamische waardeverwijzingen moeten worden gedefinieerd met behulp van parameters of velden die context doorgeven aan taken.

Dynamische waardeverwijzingen maken gebruik van dubbele accolades ({{ }}). Wanneer een taak of taak wordt uitgevoerd, vervangt een letterlijke tekenreeks de verwijzing naar dynamische waarden. Als u bijvoorbeeld het volgende sleutel-waardepaar configureert als taakparameter:

{"job_run_id": "job_{{job.run_id}}"}

Als uw uitvoerings-id is 550315892394120, wordt de waarde voor job_run_id de evaluatie geƫvalueerd job_550315892394120.

Notitie

De inhoud van de dubbele accolades wordt niet geƫvalueerd als expressies. U kunt bewerkingen of functies niet uitvoeren in dubbele accolades.

Door de gebruiker geleverde waarde-id's ondersteunen alfanumerieke en onderstrepingstekens. Escape-sleutels die speciale tekens bevatten door de id te omringen met backticks (` `).

Syntaxisfouten, waaronder niet-bestaande dynamische verwijzingswaarden en ontbrekende accolades, worden op de achtergrond genegeerd en worden behandeld als letterlijke tekenreeksen. Er wordt een foutbericht weergegeven als u bijvoorbeeld een ongeldige verwijzing opgeeft die hoort bij een bekende naamruimte {{job.notebook_url}}.

Dynamische waardeverwijzingen gebruiken in de gebruikersinterface van taken

Velden die dynamische waardeverwijzingen accepteren, bieden een snelkoppeling om beschikbare dynamische waardeverwijzingen in te voegen. Klik op { } om deze lijst weer te geven en in het opgegeven veld in te voegen.

Notitie

De gebruikersinterface vult de sleutels niet automatisch in om te verwijzen naar taakwaarden.

Veel velden die dynamische waardeverwijzingen accepteren, vereisen extra opmaak om ze correct te kunnen gebruiken. Zie Taakparameters configureren.

Dynamische waardeverwijzingen gebruiken in een JSON-taak

Gebruik {{ }} syntaxis om dynamische waarden te gebruiken in JSON-definities van taken die worden gebruikt door de Databricks CLI en REST API.

Taak- en taakparameters hebben verschillende syntaxis en de syntaxis van de taakparameter verschilt per taaktype.

In het volgende voorbeeld ziet u de gedeeltelijke JSON-syntaxis voor het configureren van taakparameters met behulp van dynamische waardeverwijzingen:

{
  "parameters": [
    {
      "name": "my_job_id",
      "default": "{{job.id}}"
    },
    {
      "name": "run_date",
      "default": "{{job.start_time.iso_date}}"
    }
  ]
}

In het volgende voorbeeld ziet u de gedeeltelijke JSON-syntaxis voor het configureren van notebooktaakparameters met behulp van een verwijzing naar dynamische waarden:

{
  "notebook_task": {
    "base_parameters": {
      "workspace_id": "workspace_{{workspace.id}}",
      "file_arrival_location": "{{job.trigger.file_arrival.location}}"
    }
  }
}

Parameters voor een taakuitvoering controleren

Nadat een taak is voltooid, ziet u opgeloste parameterwaarden onder Parameters op de pagina met uitvoeringsdetails. Zie Details van taakuitvoering weergeven.

Ondersteunde waardeverwijzingen

De volgende dynamische waardeverwijzingen worden ondersteund:

Verwijzing Beschrijving
{{job.id}} De unieke id die aan de taak is toegewezen.
{{job.name}} De naam van de taak op het moment dat de taak wordt uitgevoerd.
{{job.run_id}} De unieke id die is toegewezen aan de taakuitvoering.
{{job.repair_count}} Het aantal reparatiepogingen voor de huidige taakuitvoering.
{{job.start_time.<argument>}} Een waarde op basis van de tijd (in UTC-tijdzone) die de taakuitvoering heeft gestart. De retourwaarde is gebaseerd op de argument optie. Zie Opties voor datum- en tijdwaarden.
{{job.parameters.<name>}} De waarde van de parameter op taakniveau met de sleutel <name>.
{{job.trigger.type}} Het triggertype van de taakuitvoering. De mogelijke waarden zijn periodic, one_time, run_job_task, , file_arrival, en continuous.table
{{job.trigger.file_arrival.location}} Als een trigger voor bestands aankomst is geconfigureerd voor deze taak, is de waarde van de opslaglocatie.
{{job.trigger.time.<argument>}} Een waarde op basis van de tijd (in UTC-tijdzone) die de taakuitvoering heeft geactiveerd, afgerond op de dichtstbijzijnde minuut voor taken met een cron-schema. De retourwaarde is gebaseerd op de argument optie. Zie Opties voor datum- en tijdwaarden.
{{task.name}} De naam van de huidige taak.
{{task.run_id}} De unieke id van de huidige taakuitvoering.
{{task.execution_count}} Het aantal keren dat de huidige taak is uitgevoerd (inclusief nieuwe pogingen en reparaties).
{{task.notebook_path}} Het notebookpad van de huidige notebooktaak.
{{tasks.<task_name>.run_id}} De unieke id die is toegewezen aan de taakuitvoering voor <task_name>.
{{tasks.<task_name>.result_state}} De resultaatstatus van de taak <task_name>. De mogelijke waarden zijn success, failed, excluded, canceled, evicted, timedout, upstream_canceled, upstream_evicted en upstream_failed.
{{tasks.<task_name>.error_code}} De foutcode voor de taak <task_name> als er een fout is opgetreden bij het uitvoeren van de taak. Voorbeelden van mogelijke waarden zijn RunExecutionError, ResourceNotFounden UnauthorizedError. Voor geslaagde taken resulteert dit in een lege tekenreeks.
{{tasks.<task_name>.execution_count}} Het aantal keren dat de taak <task_name> is uitgevoerd (inclusief nieuwe pogingen en reparaties).
{{tasks.<task_name>.notebook_path}} Het pad naar het notitieblok voor de notebooktaak <task_name>.
{{tasks.<task_name>.values.<value_name>}} De taakwaarde met de sleutel <value_name> die door de taak <task_name>is ingesteld.
{{workspace.id}} De unieke id die is toegewezen aan de werkruimte.
{{workspace.url}} De URL van de werkruimte.

U kunt deze verwijzingen instellen voor elke taak. Zie Taakparameters configureren.

U kunt ook parameters doorgeven tussen taken in een taak met taakwaarden. Zie Taakwaarden gebruiken om informatie door te geven tussen taken.

Opties voor datum- en tijdwaarden

Gebruik de volgende argumenten om de retourwaarde op te geven van parametervariabelen op basis van tijd. Alle retourwaarden zijn gebaseerd op een tijdstempel in de UTC-tijdzone.

Argument Beschrijving
iso_weekday Retourneert een cijfer van 1 tot 7, dat de dag van de week van de tijdstempel aangeeft.
is_weekday Retourneert als de tijdstempel true zich op een weekdag bevindt.
iso_date Retourneert de datum in ISO-indeling.
iso_datetime Retourneert de datum en tijd in ISO-indeling.
year Retourneert het jaargedeelte van de tijdstempel.
month Retourneert het maandgedeelte van de tijdstempel.
day Retourneert het daggedeelte van de tijdstempel.
hour Retourneert het uurgedeelte van de tijdstempel.
minute Retourneert het minuutgedeelte van de tijdstempel.
second Retourneert het tweede deel van de tijdstempel.
timestamp_ms Retourneert de tijdstempel in milliseconden.

Afgeschafte dynamische waardeverwijzingen

De volgende dynamische waardeverwijzingen zijn afgeschaft. De aanbevolen vervangingsverwijzing wordt opgenomen in de beschrijving van elke variabele.

Variabele Beschrijving
{{job_id}} De unieke id die is toegewezen aan een taak. Gebruik in plaats daarvan job.id.
{{run_id}} De unieke id die is toegewezen aan een taakuitvoering. Gebruik in plaats daarvan task.run_id.
{{start_date}} De datum waarop een taakuitvoering is gestart. De notatie is jjjj-MM-dd in de UTC-tijdzone. Gebruik in plaats daarvan job.start_time.<argument>.
{{start_time}} De tijdstempel van het begin van de uitvoering van de uitvoering nadat het cluster is gemaakt en gereed is. De indeling is milliseconden sinds UNIX-epoch in de UTC-tijdzone, zoals geretourneerd door System.currentTimeMillis(). Gebruik in plaats daarvan job.start_time.<format>.
{{task_retry_count}} Het aantal nieuwe pogingen dat is geprobeerd een taak uit te voeren als de eerste poging mislukt. De waarde is 0 voor de eerste poging en stappen bij elke nieuwe poging. Gebruik in plaats daarvan task.execution_count.
{{parent_run_id}} De unieke id die is toegewezen aan de uitvoering van een taak met meerdere taken. Gebruik in plaats daarvan job.run_id.
{{task_key}} De unieke naam die is toegewezen aan een taak die deel uitmaakt van een taak met meerdere taken. Gebruik in plaats daarvan task.name.