Desenvolver Oozie Workflows em Hadoop
workflows Oozie são, em sua essência, dirigido gráficos, onde você pode definir ações (aplicações Hadoop) e fluxo de dados, mas sem looping - ou seja, você não pode definir uma estrutura onde deseja executar uma operação específica mais e mais até que algum condição é satisfeita (um loop for, por exemplo).
workflows Oozie são bastante flexíveis, em que você pode definir decisões com base em condições e caminhos bifurcados para execução paralela. Você também pode executar uma ampla gama de ações.
Nesta figura, você vê um fluxo de trabalho que mostra as capacidades básicas de fluxos de trabalho Oozie. Em primeiro lugar, um script Pig é executado e é imediatamente seguido por uma árvore de decisão. Dependendo do estado da saída, o fluxo de controle pode ir diretamente a uma operação HDFS (Hadoop Distributed File System) arquivo (por exemplo, uma operação de copyToLocal) ou para uma ação de garfo.
Se o fluxo de controlo passa para a ação garfo, dois trabalhos são executados simultaneamente: um trabalho de MapReduce, e uma consulta Hive. O fluxo de controle, em seguida, vai para a operação HDFS uma vez, tanto o trabalho de MapReduce e consulta Hive são concluída em execução. Após a operação HDFS, o fluxo de trabalho está completo.
definições de workflow Oozie são escritos em XML, com base no esquema Hadoop Process Definition Language (hPDL). Esse esquema particular é, por sua vez, com base no (XPDL) esquema Processo XML Definition Language, que é um padrão independente de produto para definições de processo de negócios de modelagem.
Um fluxo de trabalho Oozie é composta por uma série de acções, os quais são codificados por nós XML. Existem diferentes tipos de nós, representando diferentes tipos de ações ou directivas de controle de fluxo. Cada fluxo de trabalho Oozie tem seu próprio arquivo XML, onde cada nó e suas interligações são definidas.
nós fluxo de trabalho requerem identificadores únicos, porque eles são usados para identificar o próximo nó a ser processado no fluxo de trabalho. Isto significa que a ordem em que as ações são executadas depende de onde nó de uma ação aparece no XML fluxo de trabalho. Para ver como esse conceito seria, veja a listagem a seguir, que mostra um exemplo da estrutura básica do arquivo XML de um fluxo de trabalho Oozie.
... ... "Trabalho morto."
Neste exemplo, além do início, fim e matar nós, você tem dois nós de ação. Cada nó de ação representa uma aplicação ou um comando a ser executado.