Video: Fontes de dados 2024
Unul dintre primele cazuri de utilizare pentru Hadoop în cadrul întreprinderii a fost ca un motor de transformare programabil folosit pentru a preprocesa datele legate de un depozit de date. În esență, acest caz de utilizare utilizează puterea ecosistemului Hadoop pentru a manipula și aplica transformările la datele înainte de încărcat într-un depozit de date.
Deși motorul de transformare real este nou (este Hadoop, transformările și fluxurile de date sunt codificate în Pig sau MapReduce, printre alte limbi), abordarea însăși a fost folosită pentru o perioadă de timp cu procesele Extract, Transform, Load (ETL).
Gândiți-vă la evoluția bazelor de date OLTP și ROLAP. Multe organizații cu baze de date operaționale au desfășurat și antrepozite de date. Deci, cum departamentele IT primesc date din bazele lor de date operaționale în depozitele de date? (Amintiți-vă că datele operaționale nu sunt de obicei într-o formă care să se poată analiza.)
Răspunsul este ETL și, pe măsură ce depozitele de date au crescut în utilizare și importanță, etapele procesului au devenit bine înțelese și cele mai bune practici dezvoltat. De asemenea, o serie de companii de software au început să ofere soluții ETL interesante, astfel încât departamentele IT să-și poată minimiza dezvoltarea personalizată a codului.
Procesul ETL de bază este destul de simplu: E extrageți datele dintr-o bază de date operațională, T transformați-l în forma de care aveți nevoie pentru analiză instrumentele de raportare, iar apoi L omiteți aceste date în depozitul de date.
O variație obișnuită a ETL este ELT - Extract, Încărcare și Transformare. În procesul ELT, efectuați transformări (spre deosebire de ETL) după încărcarea datelor în repozitoriul țintă. Această abordare este adesea folosită atunci când transformarea se bucură în mare măsură de un motor de procesare SQL foarte rapid pe date structurate. (Bazele de date relaționale nu pot excela la prelucrarea datelor nestructurate, dar fac o prelucrare foarte rapidă a datelor - structurate).
Dacă datele pe care le transformați este destinată unui depozit de date și multe dintre aceste transformări pot fi realizate în SQL, puteți alege să rulați transformările din depozitul de date în sine. ELT este deosebit de atrăgătoare în cazul în care cea mai mare parte a setului dvs. de competențe constă în unelte bazate pe SQL.
Cu Hadoop acum capabil de a procesa interogări SQL, atat volumul de lucru ETL cât și ELT pot fi găzduiți pe Hadoop. Figura arată serviciile ETL adăugate la arhitectura de referință.
Dacă ați desfășurat o zonă de aterizare bazată pe Hadoop, aveți aproape tot ce aveți nevoie pentru a utiliza Hadoop ca motor de transformare.Atașați deja date din sistemele dvs. operaționale în Hadoop utilizând Sqoop, care acoperă etapa de extracție. În acest moment, va trebui să implementați logica transformării în aplicații MapReduce sau Pig. După transformarea datelor, puteți încărca datele în depozitul de date utilizând Sqoop.
Utilizarea Hadoop ca motor de transformare a datelor ridică și alte posibilități. Dacă depozitul de date nu își modifică datele (este doar pentru raportare), puteți păstra pur și simplu datele pe care le generați cu procesul de transformare. În acest model, datele se transmit numai de la stânga la dreapta în figură, unde datele sunt extrase din baze de date operaționale, transformate în zona de aterizare și apoi încărcate în depozitul de date.
Cu toate datele transformate deja în zona de aterizare, nu este nevoie să o copiați înapoi la Hadoop - cu excepția cazului în care, desigur, datele vor fi modificate în depozit.