Video: Big Data, wat kun je ermee? 2024
Een van de eerste use-cases voor Hadoop in de onderneming was als een programmatische transformatie-engine die wordt gebruikt om gegevens voor te bereiden die zijn bestemd voor een datawarehouse. In essentie maakt deze use case gebruik van de kracht van het Hadoop-ecosysteem om transformaties te manipuleren en toe te passen op gegevens voordat het in een datawarehouse is geladen.
Hoewel de eigenlijke transformatiemachine nieuw is (het is Hadoop, dus transformaties en gegevensstromen zijn gecodeerd in Pig of MapReduce, naast andere talen), is de benadering zelf al een tijdje in gebruik met de Extract, Transform, Load (ETL) -processen.
Denk na over de evolutie van OLTP- en ROLAP-databases. Veel organisaties met operationele databases hebben ook data warehouses geïmplementeerd. Hoe krijgen IT-afdelingen gegevens uit hun operationele databases in hun datawarehouses? (Houd er rekening mee dat de operationele gegevens meestal niet in een vorm zijn die zich leent voor analyse.)
Het antwoord is hier ETL en naarmate data warehouses in gebruik en belang toenamen, werden de stappen in het proces goed begrepen en werden de beste werkwijzen toegepast. ontwikkelde. Ook zijn een aantal softwarebedrijven begonnen met het aanbieden van interessante ETL-oplossingen, zodat IT-afdelingen hun eigen ontwikkeling van aangepaste codes konden minimaliseren.
Het standaard ETL-proces is redelijk eenvoudig: u E xtract-gegevens uit een operationele database, T om het in het formulier in te voeren dat u nodig hebt voor uw analyse en rapportagetools, en vervolgens u L oad deze gegevens in uw datawarehouse.
Eén veel voorkomende variatie op ETL is ELT - Extract, Load en Transform. In het ELT-proces voer je transformaties uit (in tegenstelling tot ETL) na die de gegevens in de doelrepository laden. Deze benadering wordt vaak gebruikt wanneer de transformatie veel baat heeft bij een zeer snelle SQL-verwerkingsengine op gestructureerde gegevens. (Relationele databases kunnen niet uitblinken in het verwerken van ongestructureerde gegevens, maar ze voeren een zeer snelle verwerking uit van - wat denk je? - gestructureerde gegevens.)
Als de gegevens die u transformeert bestemd zijn voor een datawarehouse, en veel van die transformaties kunnen in SQL worden uitgevoerd, kunt u ervoor kiezen de transformaties in het datawarehouse zelf uit te voeren. ELT is vooral aantrekkelijk als het grootste deel van je vaardigheden ligt op SQL-gebaseerde tooling. Nu Hadoop nu SQL-query's kan verwerken, kunnen zowel ETL- als ELT-workloads op Hadoop worden gehost. In de afbeelding worden ETL-services toegevoegd aan de referentiearchitectuur.
Als u een op Hadoop gebaseerde landingszone hebt geïmplementeerd, heeft u bijna alles wat u nodig heeft om Hadoop als transformatiemachine te gebruiken.U bent al bezig met het landen van gegevens van uw operationele systemen in Hadoop met behulp van Sqoop, dat de extractiestap dekt. Op dit punt moet u uw transformatielogica implementeren in MapReduce- of Pig-toepassingen. Nadat de gegevens zijn getransformeerd, kunt u de gegevens in Sqoop in het datawarehouse laden.
Het gebruik van Hadoop als een data-transformatie-engine verhoogt ook de mogelijkheden. Als uw datawarehouse de gegevens niet wijzigt (dit is alleen voor rapportage), kunt u de gegevens die u genereert gewoon bij het transformatieproces houden. In dit model stromen gegevens alleen van links naar rechts in de figuur, waarbij gegevens worden geëxtraheerd uit operationele databases, worden omgezet in de bestemmingszone en vervolgens worden geladen in het gegevensmagazijn.
Met alle getransformeerde gegevens die zich al in de landingszone bevinden, hoeft u deze niet meer naar Hadoop te kopiëren - tenzij de gegevens natuurlijk worden gewijzigd in het magazijn.