Omgaan met tonnen gegevens vereist een speciale regeling. Gemeenschappelijke rekentechnieken zijn onvoldoende om een stroom van gegevens aan te kunnen, vooral wanneer ze uit meerdere bronnen komen. In Big Data is de omvang waar we het over hebben enorm - gemeten in zettabytes, exabytes of miljoenen petabytes of miljarden terabytes. Het raamwerk genaamd Hadoop wordt in de volksmond gebruikt om enkele van de problemen met Big Data-beheer aan te pakken. Dit artikel probeert een inleidend idee te geven over Hadoop in het licht van Big Data.
Evolutie
Er gebeurt niets met een oerknal. De oorsprong en evolutie van Hadoop is geleidelijk en volgens de behoefte van het uur in het omgaan met Big Data. Kort gezegd, het dankt zijn oorsprong aan het Apache Nutch-project van Doug Cutting in het jaar 2003, vooral in het begin het codegedeelte ervan. Het ontstaan is ontwikkeld vanuit Google File System (GFS), een paper dat in oktober 2003 werd gepubliceerd en dat van invloed was op een ander paper genaamd MapReduce:Simplified Data Processing on Large Clusters. De code voor HDFS in Hadoop is weggelaten uit het Apache Nutch-project in 2006 en wordt sterk beïnvloed door de GFS- en MapReduce-algoritmen. En het feit dat de naam "Hadoop" afkomstig is van het knuffelolifantspeelgoed van Cuttings zoon, resoneert duidelijk met het idee dat er een olifant in de kamer is die Hadoop duidelijk wil aanspreken of aanpakken.
In een notendop
Tegenwoordig is Hadoop van zijn monolithische begin uitgegroeid tot een softwarebibliotheek, een raamwerk om applicaties te ontwikkelen die gedistribueerde verwerking vereisen van enorme hoeveelheden gegevens die over clusters van computers liggen met behulp van eenvoudige programmeermodellen. Het kan opschalen van een enkele server tot duizenden machines. Het idee is om de berekening en opslag over meerdere computers te verdelen om de verwerking van grote gegevenssets te benutten. De bibliotheek heeft de mogelijkheid om fouten op het niveau van de applicatielaag te detecteren, zodat de programmeur ze kan afhandelen en service kan leveren bovenop een cluster van computers in plaats van de fout door te dringen tot een of meer lagere niveaus waar het moeilijker wordt om beheren of overwinnen.
Hadoop is daarom een combinatie van tools en open source-bibliotheken die door Apache worden ondersteund voor het maken van applicaties voor gedistribueerd computergebruik die zeer betrouwbaar en schaalbaar zijn.
Hoe het werkt
Er zijn drie manieren waarop Hadoop omgaat met Big Data:
- Het eerste probleem is de opslag. De gegevens worden opgeslagen op meerdere computermachines in een gedistribueerde omgeving waar ze parallel kunnen worden verwerkt om tijd en middelen te besparen. De gegevens worden bewaard in een omgeving genaamd Hadoop Distributed File System (HDFS) , die wordt gebruikt om gegevens in meerdere indelingen op te slaan in clusters van machines. Voor dit doel verdeelt het gegevens in blokken en slaat het op over verschillende gegevensknooppunten. Het maakt gebruik van een techniek genaamd horizontale schaling om extra gegevensknooppunten toe te voegen aan bestaande HDFS-clusters volgens de vereiste. Dit maximaliseert het gebruik van bestaande middelen in plaats van er een toe te voegen wanneer opschalen nodig is.
- Het tweede probleem is om rekening te houden met de verscheidenheid aan gegevens. HDFS is uitgerust om allerlei soorten gegevens op te slaan, of het nu gestructureerd, semi-gestructureerd of ongestructureerd is. Er is geen pre-dumping schemavalidatie. Eenmaal geschreven gegevens kunnen probleemloos meerdere keren worden gelezen.
- Het derde probleem is de verwerking en hoe toegang te krijgen tot de opgeslagen gegevens. In dit opzicht komt het MapReduce-algoritme te hulp, waarbij de verwerking wordt verdeeld over slave-knooppunten om parallel te werken en het resultaat wordt teruggestuurd naar het masterknooppunt. Het hoofdknooppunt voegt de resultaten samen voordat het uiteindelijke resultaat wordt geleverd. Dit deel wordt afgehandeld door de YARN, die is ontworpen voor parallelle verwerking van gegevens die zijn opgeslagen in HDFS.
Er zijn veel ingewikkelde onderdelen, maar dit is wat Hadoop in een notendop doet. Het idee van modules zou meer inzicht geven.
Modules
Apache Hadoop Project bestaat uit zes modules. De eerste vier zijn als volgt:
- Hadoop Common :Dit bestaat uit hulpprogramma's die vaak worden gebruikt door Hadoop en ondersteunt andere Hadoop-modules. Het is ook bekend als Hadoop Core en is een essentieel onderdeel van het ecosysteem, samen met HDFS, YARN en MapReduce. Het is in dit deel dat Hadoop veronderstelt dat hardware gevoelig is voor storingen en dat alle noodzakelijke middelen worden geboden voor een programmeur om automatisch fouten in software af te handelen.
- Hadoop gedistribueerd bestandssysteem (HDFS) :Een gedistribueerd bestandssysteem dat een verscheidenheid aan bestanden in een gedistribueerde omgeving kan accommoderen. Het verdeelt de bestanden in blokken en slaat ze op over knooppunten in een gedistribueerde architectuur. Het biedt horizontale schaling in plaats van verticale schaling, voor extra clustering. Het is zeer fouttolerant en goedkoop in termen van hardware-implementatiemogelijkheden.
- Hadoop GAREN :Dit is de CPU van het Hadoop-framework. Met twee hoofdcomponenten, genaamd NodeManager en ResourceManager , YARN voert alle verwerkingsactiviteiten uit, zoals toewijzing van middelen, taakplanning en clusterbeheer.
- Hadoop MapReduce :Dit is een raamwerk om alle parallelle berekeningen uit te voeren. MapReduce is een parallel programmeermodel om gegevens in een gedistribueerde omgeving te verwerken. Het wordt bij uitstek gebruikt om gedistribueerde applicaties te schrijven die op efficiënte wijze grote hoeveelheden gegevens kunnen verwerken in clusters van standaardhardware. Het verdeelt het proces in twee fasen, genaamd Map en Verminderen , waarbij de taak van de Mapper class is om de invoer te nemen, te tokeniseren, in kaart te brengen en te sorteren. De uitvoer wordt dan de invoer voor de Reducer class, die overeenkomende paren zoekt en deze reduceert. Er zijn sleutel-waardeparen voor invoer en uitvoer in elke fase, en het type van het paar wordt bepaald door de programmeur.
Er zijn onlangs twee nieuwe deelprojecten toegevoegd:
- Hadoop Ozon :Het is een schaalbare, redundante en gedistribueerde objectopslag voor Hadoop. Naast het schalen naar miljarden objecten van verschillende groottes, kan Ozone ook effectief functioneren in gecontaineriseerde omgevingen zoals Kubernetes en YARN. Het is gebouwd op een hoog beschikbare, gerepliceerde blokopslaglaag genaamd Hadoop Distributed Data Store (HDDS) . [Een fragment. Klik om meer te vinden.]
- Hadoop-onderzeeër :Een machine learning-engine voor Hadoop. Het is een project waarmee een infra-ingenieur/datawetenschapper deep learning-applicaties (Tensorflow, Pytorch, enzovoort) kan uitvoeren op een resourcebeheerplatform (zoals YARN). [Een fragment. Klik om meer te vinden.]
Conclusie
Hadoop heeft een aanzienlijke invloed gehad op de zoekopdrachten, in het logproces, in datawarehousing en Big Data-analyse van veel grote organisaties, zoals Amazon, Facebook, Yahoo, enzovoort. Het is een allesomvattende oplossing voor het opslaan van een enorme hoeveelheid gegevens van welke aard dan ook, vergezeld van schaalbare verwerkingskracht om vrijwel onbeperkte gelijktijdige taken te benutten. In een paar woorden, de populariteit van Hadoop heeft veel te danken aan zijn fouttolerante, schaalbare, kosteneffectieve en snelle mogelijkheden.