Video: Hops - Hadoop Open Platform-As-a-Service – RISE SICS 2025
En af de tidligste brugssager til Hadoop i virksomheden var som en programmatisk transformationsmotor, der bruges til at præprocessere data bundet til et datalager. I det væsentlige udnytter denne brugssag Hadoop økosystemets evne til at manipulere og anvende transformationer til data før det er indlæst i et datalager.
Selvom den aktuelle transformationsmotor er ny (det er Hadoop, så transformationer og datastrømme er kodet i Pig eller MapReduce, blandt andre sprog), har tilgangen i sig selv været i brug i et stykke tid med processerne udpakning, transformation, belastning (ETL).
Tænk på udviklingen af OLTP og ROLAP databaser. Mange organisationer med operationelle databaser har også udnyttet datalagre. Så hvordan får IT-afdelinger data fra deres operationelle databaser i deres datalagre? (Husk at de operationelle data typisk ikke er i en form, der egner sig til analyse.)
Svaret her er ETL, og da datalagre steg i brug og betydning, blev trinene i processen blevet godt forstået, og bedste praksis var udviklede sig. Derudover begyndte en række softwarefirmaer at tilbyde interessante ETL-løsninger, så IT-afdelinger kunne minimere deres egen tilpassede kodeudvikling.
Den grundlæggende ETL-proces er ret ligetil: du E xtract data fra en operationel database, T formaterer den i den formular du har brug for til din analyse og rapporteringsværktøjer, og derefter L udfyld disse data i dit datalager.
En fælles variation til ETL er ELT - Extract, Load og Transform. I ELT-processen udfører du transformationer (i modsætning til ETL) efter indlæser dataene i målregistret. Denne tilgang bruges ofte, når transformationen står til stor nytte af en meget hurtig SQL-behandlingsmotor på strukturerede data. (Relationelle databaser må muligvis ikke udmærke sig ved behandling af ustrukturerede data, men de udfører meget hurtig behandling af - gætte hvad? - strukturerede data.)
Hvis de data, du transformerer, er bestemt til et datalager, og mange af disse transformationer kan gøres i SQL, kan du vælge at køre transformationerne i datalageret selv. ELT er særligt tiltalende, hvis størstedelen af din færdighed er baseret på SQL-baserede værktøjer.
Med Hadoop, der nu kan behandle SQL-forespørgsler, kan både ETL- og ELT-arbejdsbyrder hostes på Hadoop. Figuren viser ETL-tjenester tilføjet til referencearkitekturen.
Hvis du har implementeret en Hadoop-baseret landingszone, har du næsten alt hvad du behøver for at kunne bruge Hadoop som transformationsmotor.Du lander allerede data fra dine operativsystemer i Hadoop ved hjælp af Sqoop, der dækker ekstraktionstrinnet. På dette tidspunkt skal du implementere din transformationslogik i MapReduce eller Pig applikationer. Når dataene er transformeret, kan du indlæse dataene i datalageret ved hjælp af Sqoop.
Brug af Hadoop som datatransformationsmotor øger også muligheder. Hvis dit datalager ikke ændrer sine data (det er kun til rapportering), kan du blot beholde de data, du genererer med transformationsprocessen. I denne model flyder data kun fra venstre til højre i figuren, hvor data hentes fra operationelle databaser, transformeres i landingsområdet og derefter indlæses i datalageret.
Med alle de omformede data allerede i landingsområdet er der ingen grund til at kopiere den tilbage til Hadoop - medmindre dataene selvfølgelig ændres i lageret.