Video: The future we're building -- and boring | Elon Musk 2024
Oozie-arbetsflöden är i sin tur inriktade grafer, där du kan definiera åtgärder (Hadoop-applikationer) och dataflöde men utan looping - vilket betyder att du kan " t definiera en struktur där du skulle köra en viss operation om och om tills något villkor är uppfyllt (t.ex. för loop).
Oozie-arbetsflöden är ganska flexibla, eftersom du kan definiera villkorsbaserade beslut och gaffelbanor för parallellt utförande. Du kan också utföra ett brett utbud av åtgärder.
I denna figur ser du ett arbetsflöde som visar de grundläggande egenskaperna hos Oozie-arbetsflöden. Först körs ett grisskript, och följs omedelbart av ett beslutsträd. Beroende på utmatningstillståndet kan kontrollflödet antingen gå direkt till en HDFS (Hadoop Distributed File System) -filoperation (till exempel en copyToLocal-operation) eller till en gaffelåtgärd.
Om kontrollflödet passerar till gaffelåtgärden körs två jobb samtidigt: ett MapReduce-jobb och en Hive-fråga. Kontrollflödet går sedan till HDFS-operationen när både MapReduce-jobbet och Hive-frågan är färdiga. Efter HDFS-operationen är arbetsflödet komplett.
Oozies arbetsflödesdefinitioner skrivs i XML, baserat på HOPDL-schemat (Hadoop Process Definition Language). Detta specifika schema är i sin tur baserat på XML Process Definition Language (XPDL) schema, som är en produktoberoende standard för modellering av affärsprocessdefinitioner.
Ett Oozie-arbetsflöde består av en serie åtgärder som kodas av XML-noder. Det finns olika typer av noder som representerar olika typer av åtgärder eller kontrollflödirektiv. Varje Oozie-arbetsflöde har sin egen XML-fil, där varje nod och dess sammankopplingar definieras.
Arbetsflödesnoder kräver alla unika identifierare eftersom de används för att identifiera nästa nod som ska behandlas i arbetsflödet. Det betyder att den ordning i vilken åtgärderna utförs beror på var en åtgärds nod visas i arbetsflödet XML. För att se hur detta koncept skulle se ut, kolla in följande lista, vilket visar ett exempel på den grundläggande strukturen i en Oozie-arbetsflödes XML-fil.
… … "Dödat jobb."
I det här exemplet har du två åtgärdsnoder, förutom start-, slut- och dödsnoder. Varje åtgärdskod representerar en applikation eller ett kommando som körs.