Video: FAL. 2025
Oozie-arbejdsgange er i kernen rettede grafer, hvor du kan definere handlinger (Hadoop-applikationer) og datastrømmen, men uden looping - hvilket betyder at du kan ' t definere en struktur, hvor du vil køre en bestemt operation igen og igen, indtil en tilstand er opfyldt (for eksempel for en loop).
Oozie-arbejdsgange er ret fleksible, da du kan definere betingelsesbaserede beslutninger og gaffelbaner til parallel udførelse. Du kan også udføre en lang række handlinger.
I denne figur ser du en arbejdsgang, der viser de grundlæggende evner i Oozie-arbejdsgange. Først køres et gris-script, og efterfølges straks af et beslutningstræ. Afhængigt af udgangstilstanden kan kontrolflowet enten gå direkte til en HDFS-fil (Hadoop Distributed File System) -filoperation (f.eks. En copyToLocal-operation) eller til en gaffelhandling.
Hvis kontrolflowet passerer til gaffelaktionen, køres to job samtidigt: et MapReduce-job og en Hive-forespørgsel. Kontrolstrømmen går derefter til HDFS-operationen, når både MapReduce-job og Hive-forespørgslen er færdige. Efter HDFS-operationen er arbejdsgangen afsluttet.
Oozie-arbejdsflowdefinitioner er skrevet i XML, baseret på HOPDL-skemaet (Hadoop Process Definition Language). Dette særlige skema er i sin tur baseret på XML Process Definition Language (XPDL) skema, som er en produktuafhængig standard til modellering af forretningsprocesdefinitioner.
En Oozie-arbejdsgang består af en række handlinger, som er kodet af XML-noder. Der findes forskellige former for noder, der repræsenterer forskellige former for handlinger eller kontrolflow direktiver. Hver Oozie-arbejdsgang har sin egen XML-fil, hvor hver knude og dens sammenkoblinger er defineret.
Workflow noder kræver alle unikke identifikatorer, fordi de er vant til at identificere den næste node, der skal behandles i arbejdsgangen. Det betyder, at den rækkefølge, i hvilken handlingerne udføres, afhænger af, hvor en handlingens knude vises i workflow XML. For at se, hvordan dette koncept ville se ud, tjek den følgende liste, som viser et eksempel på den grundlæggende struktur i en Oozie workflows XML-fil.
… … "Dræbt job."
I dette eksempel har du to handlingsknuder, bortset fra start, slut og dræb knudepunkter. Hver handlingskode repræsenterer en applikation eller en kommando, der udføres.