Video: Hops - Hadoop Open Platform-As-a-Service – RISE SICS 2025
En av de tidligste brukssakene til Hadoop i bedriften var som en programmatisk transformasjonsmotor som brukes til å forhåndsbehandle data som er bundet til et datalager. I hovedsak bruker dette bruksmålet Hadoop økosystemets evne til å manipulere og anvende transformasjoner til data før det er lastet inn i et datalager.
Selv om den faktiske transformasjonsmotoren er ny (det er Hadoop, så transformasjoner og datastrømmer er kodet i Pig eller MapReduce, blant annet språk), har tilnærmingen selv vært i bruk en stund med Utdrag, Transform, Load (ETL) prosesser.
Tenk på utviklingen av OLTP- og ROLAP-databaser. Mange organisasjoner med operative databaser har også distribuert datalager. Så hvordan får IT-avdelinger data fra sine operative databaser i deres datalager? (Husk at operasjonsdataene vanligvis ikke er i et skjema som egner seg til analyse.)
Svaret her er ETL, og da datalagerene økte i bruk og betydning, ble trinnene i prosessen godt forstått og beste praksis var utviklet. En rekke programvarebedrifter begynte også å tilby interessante ETL-løsninger slik at IT-avdelinger kunne minimere egen tilpasset kodeutvikling.
Den grunnleggende ETL-prosessen er ganske enkel: du E xtract-data fra en operativ database, T formler den til skjemaet du trenger for analyse og rapporteringsverktøy, og deretter L utveksle disse dataene i datalagret ditt.
En vanlig variasjon i ETL er ELT - Extract, Load og Transform. I ELT-prosessen utfører du transformasjoner (i motsetning til ETL) etter laster dataene inn i målregisteret. Denne tilnærmingen brukes ofte når transformasjonen står til stor nytte av en svært rask SQL-behandlingsmotor på strukturerte data. (Relasjonsdatabaser kan ikke utmerke seg ved behandling av ustrukturerte data, men de utfører veldig rask behandling av - gjett hvilke? Strukturerte data.)
Hvis dataene du forvandler er bestemt for et datalager, og mange av disse transformasjonene kan gjøres i SQL, kan du velge å kjøre transformasjonene i datalageret selv. ELT er spesielt attraktivt hvis hoveddelen av ferdighetssettet ditt ligger i SQL-basert verktøy.
Med Hadoop nå i stand til å behandle SQL-spørringer, kan både ETL- og ELT-arbeidsbelastninger hostes på Hadoop. Figuren viser ETL-tjenester lagt til referansearkitekturen.
Hvis du har distribuert en Hadoop-basert landingssone, har du nesten alt du trenger for å kunne bruke Hadoop som en transformasjonsmotor.Du lander allerede data fra operativsystemene dine inn i Hadoop ved hjelp av Sqoop, som dekker utvinningstrinnet. På dette tidspunktet må du implementere transformasjonslogikken i MapReduce eller Pig-applikasjoner. Etter at dataene er forvandlet, kan du laste dataene inn i datalageret ved hjelp av Sqoop.
Bruke Hadoop som datatransformasjonsmotor øker også mulighetene. Hvis datalagret ditt ikke endrer sine data (det er bare for rapportering), kan du bare beholde dataene du genererer med transformasjonsprosessen. I denne modellen går data bare fra venstre til høyre i figuren, hvor data hentes fra operative databaser, forvandlet i landingssonen, og lastes deretter inn i datalageret.
Med alle de omformede dataene allerede i landingssonen, er det ikke nødvendig å kopiere den tilbake til Hadoop - med mindre dataene blir endret i lageret.
