In deze Hadoop-zelfstudie we gaan je het concept van gegevenslocatie in Hadoop uitleggen.
Allereerst zullen we de introductie van MapReduce Data Locality in Hadoop zien, daarna zullen we de behoefte aan Hadoop Data Locality bespreken met de categorieën Data Locality in MapReduce, Data locality optimalisatie.
Eindelijk zullen we de voordelen van het Hadoop Data Locality-principe zien in deze MapReduce-tutorial.
Wat is gegevenslocatie in Hadoop MapReduce?
Gegevenslokaliteit in Hadoop is het proces waarbij de berekening wordt verplaatst naar de plaats waar de daadwerkelijke gegevens zich bevinden, in plaats van grote gegevens naar de berekening te verplaatsen. Dit minimaliseert de algehele netwerkcongestie. Dit verhoogt ook de algehele doorvoer van het systeem.
Het belangrijkste nadeel van Hadoop was cross-switch netwerkverkeer vanwege de enorme hoeveelheid data. Om dit nadeel te verhelpen, is Data Locality ontstaan.
In Hadoop, HDFS slaat datasets op. Framework verdeelt datasets in blokken en slaat ze op over de datanodes. Wanneer een client de MapReduce-taak uitvoert, heeft NameNode de MapReduce-code verzonden naar de datanodes waarop gegevens beschikbaar zijn volgens de MapReduce-taak.
Vereiste voor Hadoop-gegevenslocatie
De Hadoop-architectuur moet aan de onderstaande voorwaarden voldoen om de voordelen van alle voordelen van datalokaliteit te krijgen:
- Ten eerste moet het Hadoop-cluster de juiste topologie hebben. De Hadoop-code moet de mogelijkheid hebben om de gegevenslocatie te lezen.
- Ten tweede moet Apache Hadoop op de hoogte zijn van de topologie van de knooppunten waar taken worden uitgevoerd. Hadoop zou ook moeten weten waar de gegevens zich bevinden.
Categorieën van gegevenslocatie in Hadoop
De verschillende categorieën in Hadoop Data Locality zijn als volgt:
1. Lokale gegevenslocatie in Hadoop
Hierin bevinden de gegevens zich op hetzelfde knooppunt als de mapper werken aan de gegevens. In deze, de nabijheid van gegevens is zeer dicht bij de berekening. Lokale gegevenslocatie is het scenario met de meeste voorkeur.
2. Intra-Rack gegevenslocatie in Hadoop
Zoals we weten, is het niet altijd mogelijk om de mapper op dezelfde dataanode uit te voeren vanwege beperkte middelen. In dit geval heeft het de voorkeur om de mapper op een ander knooppunt maar op hetzelfde rack uit te voeren.
3. Inter–Rack-gegevenslocatie in Hadoop
Soms is het ook niet mogelijk om mapper op een andere node in hetzelfde rack uit te voeren. In een dergelijke situatie zullen we de mapper uitvoeren op de knooppunten op verschillende racks. Gegevenslocatie tussen racks is het scenario met de minste voorkeur.
Hadoop-gegevenslocatieoptimalisatie
Aangezien gegevenslocatie het belangrijkste voordeel van Hadoop is KaartVerminderen. Maar dit is in de praktijk niet altijd voordelig vanwege verschillende redenen, zoals heterogene cluster, speculatieve uitvoering, gegevensdistributie en -plaatsing en gegevenslay-out.
In grote clusters komen uitdagingen vaker voor. Omdat in grote clusters meer gegevensknooppunten en gegevens zijn, is de plaats kleiner.
In grotere clusters zijn sommige knooppunten nieuwer en sneller dan de andere, waardoor de verhouding tussen gegevens en rekenkracht uit balans raakt. Grote clusters zijn dus meestal niet volledig homogeen.
In Hadoop speculatieve uitvoering omdat de gegevens misschien niet lokaal zijn, maar de rekenkracht gebruiken. De belangrijkste oorzaak ligt ook in de data layout/plaatsing. Ook niet-lokale gegevensverwerking legt een druk op het netwerk, wat een probleem vormt voor de schaalbaarheid. Daarom wordt het netwerk de bottleneck.
We kunnen de gegevenslokalisatie ook verbeteren door eerst te detecteren welke banen in de loop van de tijd verslechteren of door een probleem met de gegevenslokaliteit. Het oplossen van problemen is complexer en omvat het wijzigen van de gegevensplaatsing en gegevenslay-out met behulp van een andere planner.
Daarna moeten we verifiëren of een nieuwe uitvoering van dezelfde workload een betere data-lokaliteitsverhouding heeft.
Voordelen van gegevenslocatie in Hadoop
- Hoge doorvoer – Gegevenslocatie in Hadoop verhoogt de algehele doorvoer van het systeem.
- Snellere uitvoering – In gegevenslocatie verplaatst het framework code naar het knooppunt waar de gegevens zich bevinden in plaats van grote gegevens naar het knooppunt te verplaatsen. Dit maakt Hadoop dus sneller. Omdat de omvang van het programma altijd kleiner is dan de omvang van de gegevens, is het verplaatsen van gegevens een knelpunt bij de netwerkoverdracht.
Conclusie
Concluderend:de gegevenslocatie in Hadoop verbetert de algehele uitvoering van het systeem en maakt Hadoop sneller. Daarom vermindert het de netwerkcongestie.
Als je deze blog nuttig vindt, of je hebt een vraag, laat dan een reactie achter in het commentaargedeelte hieronder. We lossen ze graag op.