Apache Oozie

Il progetto di Enterprise Hadoop include i livelli di archiviazione ed elaborazione dei dati originali di Apache™ Hadoop e vi aggiunge inoltre dei componenti per servizi imprescindibili in una moderna architettura di dati di un'azienda: integrazione e governance dei dati, sicurezza e operazioni. Apache Oozie fornisce alcuni dei servizi operativi per un cluster Hadoop, in particolare per quanto riguarda la pianificazione delle operazioni all'interno del cluster.

A cosa serve Oozie

Apache Oozie è un'applicazione Web Java utilizzata per pianificare le operazioni di Apache Hadoop. Oozie combina più operazioni in sequenza in un'unica unità logica di lavoro. È integrato nello stack Hadoop, ha YARN al centro della sua architettura e supporta le operazioni Hadoop per Apache MapReduce, Apache Pig, Apache Hive e Apache Sqoop. Oozie è inoltre in grado di pianificare operazioni specifiche per un sistema, come programmi Java o script di shell.

Apache Oozie è uno strumento per le operazioni di Hadoop che permette agli amministratori dei cluster di creare trasformazioni dei dati complesse a partire da attività con più componenti. Questo fornisce un controllo maggiore sulle operazioni e facilita la ripetizione di tali operazioni a intervalli prestabiliti. Oozie è sostanzialmente uno strumento che permette agli amministratori di sfruttare al meglio Hadoop.

Esistono due tipi fondamentali di operazioni di Oozie:

  • Le operazioni dei flussi di lavoro Oozie: sono grafici aciclici diretti (DAG), che specificano una sequenza di azioni da eseguire. L'operazione del flusso di lavoro deve attendere
  • Le operazioni Oozie Coordinator: sono operazioni dei flussi di lavoro Oozie ricorrenti, attivate sulla base del tempo e della disponibilità dei dati.

Il bundle Oozie rappresenta un modo per impacchettare più operazioni di coordinamento e flusso di lavoro e gestire il ciclo di vita di tali operazioni.

Come funziona Oozie

Un flusso di lavoro Oozie è una raccolta di azioni disposte in un grafico aciclico diretto (DAG). I nodi di controllo definiscono la cronologia delle operazioni e stabiliscono le regole per l'inizio e la fine di un flusso di lavoro. In questo modo, Oozie controlla il percorso di esecuzione del flusso di lavoro tramite nodi di decisione, di fork e di unione. I nodi di azione avviano l'esecuzione delle attività.

Oozie attiva le azioni del flusso di lavoro e Hadoop MapReduce le esegue. Questo permette a Oozie di sfruttare altre capacità all'interno dello stack Hadoop per bilanciare i carichi e gestire gli errori.

Oozie rileva il completamento delle attività tramite callback e polling. Quando Oozie avvia un'attività, abbina a tale attività un URL HTTP di callback; quindi notifica tale URL quando l'attività è completa. Se l'attività non riesce a richiamare l'URL di callback, Oozie è in grado di effettuare il polling dell'attività per completare l'operazione.

Spesso è necessario eseguire flussi di lavoro di Oozie a intervalli di tempo regolari, ma in coordinamento con eventi o disponibilità di dati non prevedibili. In queste circostanze, Oozie Coordinator consente di modellare i trigger di esecuzione del flusso di lavoro in forma di predicati di dati, tempo o eventi. L'operazione del flusso di lavoro viene avviato dopo che tali predicati sono stati soddisfatti.

Oozie Coordinator è inoltre in grado di gestire più flussi di lavoro che dipendono dall'esito di flussi di lavoro disposti in sequenza. L'output di un flussi di lavoro di una sequenza diventa l'input per il flusso di lavoro successivo all'interno della sequenza. Tale sequenza è detta "pipeline dell'applicazione dati".

Your form submission has failed.

This may have been caused by one of the following:

  • Your request timed out
  • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.