Video: hadoop yarn architecture 2024
Uno dei primi casi d'uso di Hadoop nell'azienda è stato come un motore di trasformazione programmatico utilizzato per preelaborare i dati rilegati per un data warehouse. In sostanza, questo caso d'uso sfrutta la potenza dell'ecosistema Hadoop per manipolare e applicare le trasformazioni ai dati prima del è caricato in un data warehouse.
Sebbene l'attuale motore di trasformazione sia nuovo (è Hadoop, quindi le trasformazioni e i flussi di dati sono codificati in Pig o MapReduce, tra le altre lingue), l'approccio stesso è stato in uso per un po 'con i processi Extract, Transform, Load (ETL).
Pensa all'evoluzione dei database OLTP e ROLAP. Molte organizzazioni con database operativi hanno anche implementato data warehouse. In che modo i reparti IT ottengono i dati dai loro database operativi nei loro data warehouse? (Ricordate che i dati operativi non sono in genere in una forma che si presta all'analisi.)
La risposta è ETL, e poiché i data warehouse sono aumentati in uso e importanza, i passaggi del processo sono stati ben compresi e le migliori pratiche sono state sviluppato. Inoltre, numerose società di software hanno iniziato a offrire interessanti soluzioni ETL in modo che i reparti IT potessero ridurre al minimo il proprio sviluppo di codice personalizzato.
Il processo ETL di base è abbastanza semplice: è E xtract dati da un database operativo, T ransformarlo nel modulo necessario per l'analisi e strumenti di reporting e quindi L inserire questi dati nel data warehouse.
Una variante comune di ETL è ELT: Estrai, Carica e Trasforma. Nel processo ELT, si eseguono le trasformazioni (al contrario di ETL) dopo caricando i dati nel repository di destinazione. Questo approccio viene spesso utilizzato quando la trasformazione ha notevoli vantaggi da un motore di elaborazione SQL molto veloce sui dati strutturati. (I database relazionali potrebbero non eccellere nell'elaborazione di dati non strutturati, ma eseguono un'elaborazione molto veloce di - indovinate cosa? - dati strutturati.)
Se i dati che stai trasformando sono destinati a un data warehouse e molte di queste trasformazioni possono essere eseguite in SQL, puoi scegliere di eseguire le trasformazioni nel data warehouse stesso. L'ELT è particolarmente attraente se la maggior parte delle tue competenze si basa su strumenti basati su SQL.
Ora che Hadoop è in grado di elaborare query SQL, i carichi di lavoro ETL e ELT possono essere ospitati su Hadoop. La figura mostra i servizi ETL aggiunti all'architettura di riferimento.
Se hai schierato una zona di atterraggio basata su Hadoop, hai quasi tutto il necessario per utilizzare Hadoop come motore di trasformazione.Stai già trasferendo i dati dai tuoi sistemi operativi in Hadoop utilizzando Sqoop, che copre il passaggio di estrazione. A questo punto dovrai implementare la tua logica di trasformazione in applicazioni MapReduce o Pig. Dopo che i dati sono stati trasformati, è possibile caricare i dati nel data warehouse usando Sqoop.
L'utilizzo di Hadoop come motore di trasformazione dei dati aumenta anche le possibilità. Se il tuo data warehouse non modifica i suoi dati (è solo per la segnalazione), puoi semplicemente conservare i dati che generi con il processo di trasformazione. In questo modello, i dati passano solo da sinistra a destra nella figura, dove i dati vengono estratti dai database operativi, trasformati nella zona di atterraggio e quindi caricati nel data warehouse.
Con tutti i dati trasformati già nella zona di atterraggio, non è necessario copiarli su Hadoop, a meno che, ovviamente, i dati non vengano modificati nel magazzino.