Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Použijte úlohu
Tento článek popisuje použití For each
úlohy s úlohami Lakeflow, včetně podrobností o přidání a konfiguraci úlohy v uživatelském rozhraní úloh.
For each
Pomocí úlohy můžete spustit vnořenou úlohu ve smyčce a předat do každé iterace úlohy jinou sadu parametrů.
For each
Přidání úkolu do úlohy vyžaduje definování dvou úkolů: For each
úkol a vnořený úkol. Vnořená úloha je úloha určená ke spuštění při každé iteraci úlohy For each
a je jedním ze standardních typů úloh Lakeflow. Nemůžete přidat další For each
úkol jako vnořený úkol.
Úlohu můžete například použít For each
k provádění společné sady transformací ve více tabulkách a předání názvu tabulky ze seznamu názvů tabulek každé iteraci úlohy.
Vnořené úlohy, které nemají závislosti na sobě, je možné spustit souběžně.
Přidejte úkol For each
do úlohy
Úkol můžete přidat For each
při vytváření úlohy nebo úpravě úkolu v existující úloze. Chcete-li nakonfigurovat úlohu For each
:
V rozevírací nabídce Typ vyberte Pro každý.
Do pole Název úkolu zadejte název úkolu.
V textovém poli Vstupy definujte hodnoty úkolu
For each
, podle něhož se má iterovat jako pole hodnot ve formátu JSON. Další informace o předávání parametrů do vnořené úlohy najdete v tématu Jaké typy parametrů můžu sFor each
úkolem použít?.Pokud chcete volitelně nastavit počet iterací, které se dají spustit paralelně, zadejte hodnotu souběžnosti pro úlohu. Výchozí hodnota je 1.
Pokud chcete volitelně dostávat oznámení o zahájení, úspěchu nebo neúspěchu úkolu, klikněte na + Přidat. Viz Přidat oznámení k úloze.
Pokud chcete dokončit konfiguraci
For each
úlohy a přidat vnořenou úlohu, která se má spustit pro každou iteraci, klikněte na přidat úlohu, která se má opakovat.Vyberte typ úlohy a možnosti konfigurace pro vnořenou úlohu. Vnořené úlohy jsou standardní typy úloh a mají stejné možnosti konfigurace. Viz Konfigurace a úprava úkolů v úlohách Lakeflow.
Chcete-li odkazovat na parametry předané z
For each
úlohy, klepněte na tlačítko Parametry. Pomocí{{input}}
můžete nastavit hodnotu na hodnotu pole každé iterace nebo použít{{input.<key>}}
k odkazování na jednotlivá pole objektů při iteraci přes seznam objektů.Klikněte na Vytvořit úkol.
Přepínání mezi For each
úkolem a vnořeným úkolem
Úkol For each
se zobrazí v uživatelském rozhraní úloh jako uzel s vnořeným uzlem úkolu uvnitř For each
uzlu. Pokud chcete přepnout mezi For each
úkolem a vnořeným úkolem, klikněte na příslušné uzly.
Jaké typy parametrů můžu s úkolem For each
použít?
Úloha For each
předá parametry každé iteraci vnořené úlohy. Vstupem je pole objektů a každý objekt je předán do iterace vnořené úlohy. Existuje několik způsobů, jak vytvořit vstupy, které úloha používá: pole ve formátu JSON, hodnoty úkolů nebo parametry úlohy.
Poznámka:
Parametry jsou v uživatelském rozhraní omezeny na 5 000 znaků přímo nebo 48 kB, pokud používáte odkazy na hodnoty úkolu (kde může být hodnota mnohem větší než velikost řetězce, který ho popisuje), nebo 10 000 znaků pro hodnotu parametrů úlohy. Pokud vaše parametry vyžadují více než 48 kB, můžete předat vyhledávání do většího konfiguračního souboru. Viz Použití vyhledávací tabulky pro velká pole parametrů.
Pole hodnot ve formátu JSON
Při vytváření nebo úpravě úkolu můžete přímo definovat pole hodnot pro vnořený úkol pomocí textového pole Vstupy . Může se jednat o pole následujících datových typů:
- Páry klíč-hodnota
- Řetězce, čísla nebo logické typy
- Libovolně složité objekty JSON
Textové pole Vstupy , a proto KÓD JSON předaný přímo v tomto poli je omezený na 5 000 znaků.
Odkazy na hodnoty úkolu
Hodnoty úkolů můžete předat z předchozího úkolu. Pokud chcete odkazovat na předané hodnoty úkolů, použijte {{tasks.<task_name>.values.<task_value_name>}}
syntaxi k nastavení hodnoty v textovém poli Vstupy . Pokud například úkol s názvem generate_countries_list
, který předchází For each
úkolu, nastaví následující hodnotu úkolu:
dbutils.jobs.taskValues.set(key = "countries", value = countries_array)
For each
Úloha pak odkazuje na hodnotu úkolu v textovém poli Vstupy pomocí následující syntaxe:
{{tasks.generate_countries_list.values.countries}}
.
Do textového pole Vstupy můžete vložit až 5 000 znaků, ale hodnoty, které představují odkazy, mohou být až 48 kB. Další informace o hodnotách úkolů najdete v tématu Použití hodnot úkolů k předávání informací mezi úkoly.
Parametry úlohy
Jako vstup můžete použít také parametry úlohy. Chcete-li odkazovat na parametr úlohy, použijte následující syntaxi v textovém poli Vstupy : {{job.parameters.<name>}}
. Například: {{job.parameters.countries}}
.
Do textového pole Vstupy můžete vložit až 5 000 znaků, abyste mohli odkazovat parametry úlohy. Hodnoty parametrů úlohy jsou omezené na 10 kB. Další informace o parametrech úlohy najdete v tématu Konfigurace parametrů úlohy.
Odkaz na For each
úkol v podřízených úkolech
Úkol For each
je úkol nejvyšší úrovně a podřízené úkoly ho můžou určit jako závislost. Podřízené úkoly nemohou záviset na vnořeném úkolu ani na něm odkazovat.
Spusťte a sledujte úlohu s úkolem For each
.
Spuštění úlohy s For each
úkolem je stejné jako spuštění jakékoli jiné úlohy.
Zobrazení a správa spuštění úloh je také totožné s jakoukoli jinou úlohou For each
, s výjimkou historie spuštění úkolu, která se zobrazuje jako tabulka iterací úkolů. Viz Historie spuštění úlohyFor each
.