Inleiding tot Hadoop-componenten

Hadoop-componenten zijn voornamelijk HDFS, Map Reduce, Yarn. Tegenwoordig leven we in een digitaal tijdperk waar de gegevensproductiesnelheid erg hoog is, ongeveer 2, 5 miljoen gegevens per dag. Hoewel de opslagcapaciteit van de schijven toeneemt, maar de zoeksnelheid niet is toegenomen voor dit gegevensvolume. Om dit te overwinnen moeten we de gegevens parallel lezen, om dit te bereiken in Hadoop hebben we een HDFS (Hadoop Distributed File System) waar de datasets worden opgeslagen als blokken in HDFS (voor meer informatie raadpleeg de HDFS-sectie) om gegevens parallel te lezen en te bereiken hogere verwerkingssnelheid. Gegevens worden verwerkt om betekenisvolle informatie op te halen of te voorspellen of om trends of patronen te krijgen. Het MapReduce-proces wordt gebruikt om de gewenste informatie te verkrijgen. Map en Reduce zijn de twee verschillende fasen van het verwerken van gegevens.

Belangrijkste onderdelen van Hadoop

De belangrijkste componenten van Hadoop worden hieronder beschreven:

1. Hadoop Distributed File System (HDFS)

HDFS is de opslaglaag voor Big Data, het is een cluster van vele machines, de opgeslagen gegevens kunnen worden gebruikt voor de verwerking met Hadoop. Zodra de gegevens naar HDFS zijn gepusht, kunnen we deze op elk gewenst moment verwerken, totdat we de gegevens verwerken in HDFS totdat we de bestanden handmatig verwijderen. HDFS slaat de gegevens op als een blok, de minimale grootte van het blok is 128 MB in Hadoop 2.x en voor 1.x was het 64 MB. HDFS repliceert de blokken voor de beschikbare gegevens als gegevens op één machine worden opgeslagen en als de machine uitvalt gegevens niet verloren gaan, maar om deze te voorkomen, worden gegevens over verschillende machines gerepliceerd. Replicatiefactor is standaard 3 en we kunnen HDFS-site.xml wijzigen of de opdracht Hadoop fs -strep -w 3 / dir gebruiken door te repliceren. We hebben de blokken op verschillende machines voor hoge beschikbaarheid.
HDFS is een master-slave-architectuur, het is NameNode als master en Data Node als slave. NameNode is de machine waar alle metagegevens worden opgeslagen van alle blokken die zijn opgeslagen in de DataNode.

2. GAREN

YARN werd geïntroduceerd in Hadoop 2.x, daarvoor had Hadoop een JobTracker voor het resourcebeheer. Job Tracker was de meester en had een Task Tracker als slaaf. Job Tracker was degene die zorgde voor het plannen van de taken en het toewijzen van middelen. Taaktracker zorgde vroeger voor de kaart en verkleinde taken en de status werd periodiek bijgewerkt naar taaktracker. Met is een type resource manager had het een schaalbaarheid limiet en gelijktijdige uitvoering van de taken had ook een beperking. Deze problemen werden aangepakt in YARN en het zorgde voor de toewijzing van middelen en de planning van taken op een cluster. Het uitvoeren van een kaart Verminder taak heeft middelen in een cluster nodig om de middelen toegewezen te krijgen voor de taak YARN helpt. YARN bepaalt welke taak wordt uitgevoerd en welke machine wordt uitgevoerd. Het heeft alle informatie over beschikbare cores en geheugen in het cluster, het volgt geheugenverbruik in het cluster. Het werkt samen met de NameNode over de gegevens waar het zich bevindt om de beslissing te nemen over de brontoewijzing.

3. MapReduce

Het Hadoop-ecosysteem is een kosteneffectieve, schaalbare en flexibele manier van werken met zulke grote datasets. Hadoop is een framework dat een bepaald programmeermodel gebruikt, MapReduce genaamd, voor het opdelen van computertaken in blokken die met behulp van Hadoop Distributed Filesystem (HDFS) rond een cluster van commodity-machines kunnen worden verdeeld.

MapReduce is een twee verschillende taken Map en Reduce, Map gaat vooraf aan de Reducer Phase. Zoals de naam suggereert, brengt de kaartfase de gegevens in sleutel / waarde-paren in kaart, zoals we allemaal weten, gebruikt Hadoop sleutelwaarden voor de verwerking. Reductiefase is de fase waarin we de eigenlijke logica moeten implementeren. Afgezien van deze twee fasen, implementeert het ook de shuffle- en sorteerfase.

1. Mapper

Mapper is de klasse waarin het invoerbestand wordt omgezet in sleutels en waarden voor verdere verwerking. Tijdens het lezen van de gegevens worden deze alleen in sleutelwaarden gelezen, waarbij de sleutel de bit-offset is en de waarde het gehele record is.

We hebben bijvoorbeeld een bestand Diary.txt omdat we twee regels hebben geschreven, dwz twee records.

Dit is een prachtige dag waar we hier van zouden moeten genieten, de offsets voor 't' zijn 0 en voor 'w' is 33 (witte spaties worden ook beschouwd als een karakter) dus de mapper zal de gegevens lezen als sleutel / waarde-paar, as (key, value), (0, this is a wonderful day), (33, we moeten genieten)

2. Reductiemiddel

Reducer is de klasse die sleutels en waarden accepteert uit de uitvoer van de fase van de mappers. Sleutels en waarden gegenereerd uit mapper worden geaccepteerd als invoer in het verloopstuk voor verdere verwerking. Reducer accepteert gegevens van meerdere mappers. Reducer verzamelt die tussenliggende gegevens tot een beperkt aantal sleutel en waarden, wat de uiteindelijke uitvoer is. We zullen dit in het voorbeeld zien.

3. Stuurprogramma

Afgezien van de mapper- en reducer-klasse, hebben we nog een klasse nodig die de Driver-klasse is. Deze code is nodig voor MapReduce omdat het de brug is tussen het geïmplementeerde framework en de logica. Het specificeert de configuratie, het input-gegevenspad, het output-opslagpad en vooral welke mapper- en reductieklassen moeten worden geïmplementeerd, ook vele andere configuraties kunnen in deze klasse worden ingesteld. In de stuurprogrammaklasse kunnen we bijvoorbeeld het scheidingsteken voor het uitvoerbestand opgeven, zoals weergegeven in de stuurprogrammaklasse van het onderstaande voorbeeld.

Voorbeeld

Overweeg dat we een dataset van reisbureau hebben, nu moeten we uit de gegevens berekenen hoeveel mensen ervoor kiezen om naar een bepaalde bestemming te reizen. Om dit te bereiken moeten we de bestemming als sleutel nemen en voor de telling nemen we de waarde als 1. Dus, in de mapper-fase, zullen we de bestemming toewijzen aan waarde 1. Nu in shuffle en sorteerfase na de mapper, het zal alle waarden aan een bepaalde sleutel toewijzen. Als we bijvoorbeeld een bestemming als MAA hebben, hebben we ook 1 in kaart gebracht en hebben we 2 exemplaren na het schudden en sorteren, krijgen we MAA, (1, 1) waarbij (1, 1) de waarde is. Nu in de reductiefase hebben we al een logica geïmplementeerd in de reductiefase om de waarden toe te voegen om de totale telling van het ticket geboekt voor de bestemming te krijgen. Dit is de stroom van MapReduce.

Hieronder is de screenshot van het geïmplementeerde programma voor het bovenstaande voorbeeld.

1. Bestuurdersklasse

2. Mapper-klasse

3. Reductieklasse

De Hadoop uitvoeren

Voor de uitvoering van Hadoop moeten we eerst de pot bouwen en dan kunnen we uitvoeren met behulp van onderstaande opdracht Hadoop jar eample.jar /input.txt /output.txt

Conclusie

Hier hebben we de kerncomponenten van de Hadoop besproken, zoals HDFS, Map Reduce en YARN. Het is een gedistribueerd cluster computing-framework dat helpt bij het opslaan en verwerken van de gegevens en het uitvoeren van de vereiste analyse van de vastgelegde gegevens. Hadoop is flexibel, betrouwbaar in termen van gegevens, omdat gegevens worden gerepliceerd en schaalbaar zijn, dat wil zeggen dat we meer machines aan het cluster kunnen toevoegen voor het opslaan en verwerken van gegevens.

Aanbevolen artikelen

Dit is een handleiding voor Hadoop Components geweest. Hier hebben we de kerncomponenten van de Hadoop met voorbeelden besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Inleiding tot JDBC Architecture
  2. Wat is Hadoop Cluster?
  3. Wat is MapReduce in Hadoop?
  4. Wat is Big data en Hadoop
  5. Hadoop fs Commando's

Categorie: