Video: Hops - Hadoop Open Platform-As-a-Service – RISE SICS 2024
Ett av de tidigaste användningsfallen för Hadoop i företaget var som en programmatisk transformationsmotor som används för att förbehandla data som är bunden till ett datalager. I huvudsak använder detta användningsområde Hadops ekosystems förmåga att manipulera och tillämpa omvandlingar till data före det laddas i ett datalager.
Även om den aktuella transformationsmotorn är ny (det är Hadoop, så omvandlingar och dataflöden är kodade i Pig eller MapReduce, bland andra språk), har tillvägagångssättet i sig använts ett tag med processerna Extract, Transform, Load (ETL).
Tänk på utvecklingen av OLTP- och ROLAP-databaser. Många organisationer med operativa databaser distribuerade också datalager. Så hur får IT-avdelningar data från sina operativa databaser i sina datalager? (Kom ihåg att operativa data vanligtvis inte är i en form som gör det möjligt för analys.)
Svaret här är ETL, och när datalager ökade i bruk och vikt blev stegen i processen väl förstådd och bästa praxis var tagit fram. Ett antal mjukvaruföretag började också erbjuda intressanta ETL-lösningar så att IT-avdelningar kunde minimera sin egen anpassade kodutveckling.
Den grundläggande ETL-processen är ganska enkel: du E xtract-data från en operativ databas, T formaterar den i formuläret du behöver för din analys och rapporteringsverktyg, och sedan L skicka dessa data till ditt datalager.
En vanlig variation till ETL är ELT - Extract, Load och Transform. I ELT-processen utför du omvandlingar (i motsats till ETL) efter laddar data i målförvaret. Denna metod används ofta när omvandlingen står till stor nytta av en mycket snabb SQL-bearbetningsmotor på strukturerad data. (Relationsdatabaser kanske inte utmärker sig vid behandling av ostrukturerad data, men de utför mycket snabb bearbetning av - gissa vilken? Strukturerad data.)
Om de data du förvandlar är avsedda för ett datalager, och många av dessa omvandlingar kan göras i SQL, kan du välja att köra transformationerna i datalageret själv. ELT är särskilt tilltalande om huvuddelen av din skicklighet ligger hos SQL-baserad verktygsverktyg.
Med Hadoop som nu kan bearbeta SQL-frågor kan både ETL- och ELT-arbetsbelastningar hämtas på Hadoop. Figuren visar ETL-tjänster som läggs till i referensarkitekturen.
Om du har implementerat en Hadoop-baserad landningszon, har du nästan allt du behöver för att kunna använda Hadoop som transformationsmotor.Du landar redan data från dina operativsystem i Hadoop med Sqoop, som täcker extraktionssteget. Vid denna tidpunkt måste du implementera din transformationslogik i MapReduce eller Pig-applikationer. När data har transformerats kan du ladda data till datalagret med Sqoop.
Med Hadoop som datatransformationsmotor ökar också möjligheterna. Om ditt datalager inte ändrar sina data (det är bara för rapportering), kan du helt enkelt behålla de data du genererar med transformationsprocessen. I denna modell strömmar data endast från vänster till höger i figuren, där data extraheras från operativa databaser, transformeras i landningszonen och sedan laddas in i datalagret.
Med alla transformerade data redan i landningszonen behöver du inte kopiera den till Hadoop - såvida inte dataen ändras i lageret.