Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden einer
In diesem Artikel wird die Verwendung des For each
Tasks mit Ihren Lakeflow-Jobs erläutert, einschließlich Details zum Hinzufügen und Konfigurieren des Tasks in der Jobs-Benutzeroberfläche. Verwenden Sie die For each
Aufgabe, um eine geschachtelte Aufgabe in einer Schleife auszuführen, und übergeben Sie einen anderen Satz von Parametern an jede Iteration der Aufgabe.
Zum Hinzufügen der For each
-Aufgabe zu einem Auftrag müssen zwei Aufgaben definiert werden: Die For each
-Aufgabe und eine geschachtelte Aufgabe. Die geschachtelte Aufgabe ist die Aufgabe, die für jede Iteration des For each
Vorgangs ausgeführt werden soll, und ist einer der standardmäßigen Lakeflow Jobs-Vorgangstypen. Sie können keine weitere For each
-Aufgabe als geschachtelte Aufgabe hinzufügen.
Sie können z. B. die For each
-Aufgabe verwenden, um eine gemeinsame Gruppe von Transformationen für mehrere Tabellen auszuführen und einen Tabellennamen aus einer Liste von Tabellennamen an jede Iteration der Aufgabe zu übergeben.
Geschachtelte Aufgaben, die keine Abhängigkeiten voneinander aufweisen, können gleichzeitig ausgeführt werden.
Fügen Sie einem Job die For each
-Aufgabe hinzu
Sie können eine For each
-Aufgabe hinzufügen, wenn Sie einen Auftrag erstellen oder eine Aufgabe in einem vorhandenen Auftrag bearbeiten. So konfigurieren Sie eine For each
-Aufgabe:
Wählen Sie im Dropdownmenü Typ die Option Für jede aus.
Geben Sie im Feld Aufgabenname einen Namen für die Aufgabe ein.
Definieren Sie im Textfeld Eingaben die Werte für die
For each
-Aufgabe, die als JSON-formatiertes Array von Werten durchlaufen werden sollen. Weitere Informationen zum Übergeben von Parametern an den geschachtelten Vorgang finden Sie unter Welchen Parametertypen kann ich mit derFor each
Aufgabe verwenden?.Um optional die Anzahl der Iterationen festzulegen, die parallel ausgeführt werden können, geben Sie einen Parallelitätswert für die Aufgabe ein. Der Standardwert ist 1.
Klicken Sie auf + Hinzufügen, um optional Benachrichtigungen für Start, Erfolg oder Fehler der Aufgabe zu erhalten. Weitere Informationen finden Sie unter Hinzufügen von Benachrichtigungen zu einem Auftrag.
Um die Konfiguration der
For each
-Aufgabe abzuschließen und eine geschachtelte Aufgabe hinzuzufügen, die für jede Iteration ausgeführt werden soll, klicken Sie auf Eine Aufgabe zum Durchlaufen inzufügen.Wählen Sie einen Aufgabentyp und Konfigurationsoptionen für die geschachtelte Aufgabe aus. Geschachtelte Aufgaben sind Standardaufgabentypen und verfügen über die gleichen Konfigurationsoptionen. Siehe Konfigurieren und Bearbeiten von Vorgängen in Lakeflow-Aufträgen.
Klicken Sie auf
For each
, um von der -Aufgabe übergebene Parameter zu referenzieren. Verwenden Sie den{{input}}
-Verweis, um den Wert auf den Matrixwert jeder Iteration festzulegen oder{{input.<key>}}
, um auf einzelne Objektfelder zu verweisen, wenn Sie eine Liste von Objekten durchlaufen.Klicken Sie auf Aufgabe erstellen.
Wechseln zwischen der For each
-Aufgabe und der geschachtelten Aufgabe
In der Job-Benutzeroberfläche erscheint die For each
-Aufgabe als Knoten, der den geschachtelten Aufgabenknoten innerhalb des For each
-Knotens enthält. Um zwischen der For each
-Aufgabe und der geschachtelten Aufgabe zu wechseln, klicken Sie auf die entsprechenden Knoten.
**
Welche Parametertypen kann ich mit der For each
Aufgabe verwenden?
Der For each
Vorgang übergibt Parameter an jede Iteration des geschachtelten Vorgangs. Die Eingabe ist ein Array von Objekten, und jedes Objekt wird an eine Iteration der geschachtelten Aufgabe übergeben. Es gibt mehrere Möglichkeiten zum Erstellen der eingaben, die von der Aufgabe verwendet werden: JSON-formatierte Arrays, Aufgabenwerte oder Auftragsparameter.
Hinweis
Parameter sind direkt auf 5.000 Zeichen auf der Benutzeroberfläche beschränkt, oder 48 KB, wenn Sie Vorgangswertverweise verwenden (wobei der Wert viel größer als die Größe der Zeichenfolge sein kann, die sie beschreibt), oder 10.000 Zeichen für den Wert der Auftragsparameter. Wenn Ihre Parameter mehr als 48 KB erfordern, können Sie eine Suche an eine größere Konfigurationsdatei übergeben. Siehe Verwenden einer Nachschlagetabelle für große Parameterarrays.
Ein JSON-formatiertes Array mit Werten
Wenn Sie eine Aufgabe erstellen oder bearbeiten, können Sie ein Array von Werten für die geschachtelte Aufgabe mithilfe des Textfelds "Eingaben " direkt definieren. Dies kann eine Matrix der folgenden Datentypen sein:
- Schlüssel-Wert-Paare
- Zeichenfolgen, Zahlen oder boolesche Typen
- Beliebig komplexe JSON-Objekte
Das Eingabetextfeld und daher JSON, der direkt in diesem Feld übergeben wird, ist auf 5.000 Zeichen beschränkt.
Verweise auf Aufgabenwert
Sie können Vorgangswerte aus einem vorherigen Vorgang übergeben. Um auf übergebene Vorgangswerte zu verweisen, verwenden Sie die {{tasks.<task_name>.values.<task_value_name>}}
Syntax, um den Wert im Textfeld " Eingaben " festzulegen. Wenn beispielsweise eine Aufgabe mit dem Namen generate_countries_list
, die der For each
-Aufgabe vorausgeht, den folgenden Aufgabenwert festlegt:
dbutils.jobs.taskValues.set(key = "countries", value = countries_array)
Anschließend verweist die For each
-Aufgabe auf den Aufgabenwert im Textfeld Eingabe mit der folgenden Syntax:
{{tasks.generate_countries_list.values.countries}}
.
Sie können bis zu 5.000 Zeichen in das Textfeld " Eingaben " einfügen, aber die Werte, die die Verweise darstellen, können bis zu 48 KB betragen. Weitere Informationen zu Aufgabenwerten finden Sie unter Verwenden von Aufgabenwerten zur Weitergabe von Informationen zwischen Aufgaben.
Auftragsparameter
Sie können Auftragsparameter auch als Eingabe verwenden. Verwenden Sie zum Verweisen auf einen Job-Parameter die folgende Syntax im Textfeld Eingaben: {{job.parameters.<name>}}
. Beispiel: {{job.parameters.countries}}
.
Sie können bis zu 5.000 Zeichen in das Textfeld " Eingaben " einfügen, um auf Auftragsparameter zu verweisen. Die Auftragsparameterwerte sind auf 10 KB beschränkt. Weitere Informationen zu Job-Parametern finden Sie unter Konfigurieren von Auftragsparametern.
Verweisen auf eine For each
-Aufgabe in nachgelagerten Aufgaben
Die For each
-Aufgabe ist die Aufgabe auf oberster Ebene, und nachgeschaltete Aufgaben können sie als Abhängigkeit angeben. Nachgeschaltete Aufgaben können nicht von der geschachtelten Aufgabe abhängen oder darauf verweisen.
Ausführen und Überwachen eines Jobs mit einer For each
-Aufgabe
Das Ausführen eines Jobs mit einer For each
-Aufgabe ist identisch mit dem Ausführen eines anderen Jobs.
Das Anzeigen und Verwalten von Job-Ausführungen ist auch mit jedem anderen Job identisch, mit Ausnahme des Aufgabenausführungsverlaufs für eine For each
-Aufgabe, die als Tabelle mit Aufgabeniterationen dargestellt wird. Siehe Ansicht des Vorgangsausführungsverlaufs für eine For each
Aufgabe.