Het idee van door de Hadoop geïnspireerde ETL-motoren heeft de afgelopen jaren veel grip gekregen. Per slot van rekening is Hadoop een flexibel platform voor gegevensopslag en -verwerking dat enorme hoeveelheden gegevens en bewerkingen op die gegevens kan ondersteunen. Tegelijkertijd is het fouttolerant en biedt het de mogelijkheid tot kapitaal- en softwarekostenreducties.
Ondanks de populariteit van Hadoop als ETL-engine, bevelen veel mensen (waaronder een beroemde analistenorganisatie) Hadoop niet aan als enig stukje technologie voor uw ETL-strategie. Dit komt grotendeels doordat het ontwikkelen van ETL-stromen veel expertise vereist over de bestaande databasesystemen van uw organisatie, de aard van de gegevens zelf en de rapporten en applicaties die ervan afhankelijk zijn.
Met andere woorden, de DBA's, ontwikkelaars en architecten in uw IT-afdeling zouden genoeg vertrouwd moeten raken met Hadoop om de benodigde ETL-stromen te implementeren. Er kan bijvoorbeeld veel intensieve handcodering met Pig, Hive of zelfs MapReduce nodig zijn om zelfs de eenvoudigste gegevensstromen te maken - waarmee uw bedrijf deze vaardigheden op de haak slaat als het dit pad volgt.
U moet elementen coderen zoals parallelle foutopsporing, toepassingsbeheerservices (zoals check-pointing en -fout en gebeurtenisafhandeling). Houd ook rekening met zakelijke vereisten, zoals glossarisatie en het kunnen weergeven van de afstamming van uw gegevens.
Er zijn wettelijke vereisten voor veel industriestandaardrapporten, waar gegevensafkomst nodig is; de rapporterende organisatie moet kunnen aantonen waar de gegevenspunten in het rapport vandaan komen, hoe de gegevens bij u zijn gekomen en wat er met de gegevens is gedaan.
Zelfs voor relationele databasesystemen is ETL complex genoeg dat er populaire gespecialiseerde producten zijn die interfaces bieden voor het beheren en ontwikkelen van ETL-flows. Sommige van deze producten ondersteunen nu in op Hadoop gebaseerde ETL en andere op Hadoop gebaseerde ontwikkeling. Afhankelijk van uw vereisten, moet u misschien een deel van uw eigen code schrijven om uw transformatielogica te ondersteunen.