Introduktion til Hadoop-komponenter

Hadoop-komponenter er hovedsageligt HDFS, Map Reduce, Garn. I dag lever vi i en digital tidsalder, hvor dataproduktionshastigheden er meget høj, når vi producerer 2, 5 quintillioner af data pr. Dag. Selvom lagerkapaciteten på disken øges, men søgefrekvensen ikke er steget for denne datamængde. For at overvinde dette er vi nødt til at læse dataene parallelt, for at opnå dette i Hadoop har vi et HDFS (Hadoop Distribueret filsystem), hvor datasættene gemmes som blokke i HDFS (for flere detaljer henvises til HDFS afsnit) til at læse data parallelt og opnå højere forarbejdningshastighed. Behandlingen af ​​data udføres for at hente eller forudsige nogle meningsfulde oplysninger eller for at få nogle tendenser eller mønstre. MapReduce-processen bruges til at effektuere for at få den ønskede information. Kort og reduktion er de to forskellige faser i behandlingsdata.

Hovedkomponenter i Hadoop

De vigtigste komponenter i Hadoop er beskrevet nedenfor:

1. Hadoop Distribueret filsystem (HDFS)

HDFS er lagringslaget til Big Data, det er en klynge af mange maskiner, de lagrede data kan bruges til behandling ved hjælp af Hadoop. Når dataene er skubbet til HDFS, kan vi behandle dem når som helst, indtil det tidspunkt, hvor vi behandler dataene, opholder sig i HDFS, indtil vi sletter filerne manuelt. HDFS gemmer dataene som en blok, den minimale størrelse på blokken er 128MB i Hadoop 2.x og for 1.x var den 64MB. HDFS gentager blokke for de tilgængelige data, hvis data gemmes i en maskine, og hvis maskinen mislykkes, går data ikke tabt, men for at undgå disse, replikeres data på tværs af forskellige maskiner. Replikeringsfaktor er som standard 3, og vi kan ændre i HDFS-site.xml eller ved hjælp af kommandoen Hadoop fs -strep -w 3 / dir ved at replikere, vi har blokke på forskellige maskiner til høj tilgængelighed.
HDFS er en master-slave-arkitektur, det er NameNode som master og Data Node som slave. NameNode er den maskine, hvor alle metadata er gemt af alle de blokke, der er gemt i DataNode.

2. Garn

YARN blev introduceret i Hadoop 2.x, før det havde Hadoop en JobTracker til ressourceforvaltningen. Job Tracker var mesteren, og den havde en Task Tracker som slaven. Job Tracker var den, der plejede at sørge for at planlægge jobene og tildele ressourcer. Task Tracker bruges til at tage sig af kortet og reducere opgaver, og status blev periodisk opdateret til Job Tracker. With er en type ressource manager, det havde en skalerbarhedsgrænse, og samtidig udførelse af opgaverne havde også en begrænsning. Disse problemer blev behandlet i YARN, og det tog sig af ressourcetildeling og planlægning af job i en klynge. Udførelse af et kort Reducer jobbehov ressourcer i en klynge for at få de ressourcer, der er tildelt til jobbet YARN hjælper. YARN bestemmer, hvilket job der udføres, og hvilken maskine det udføres. Det har al information om tilgængelige kerner og hukommelse i klyngen, det sporer hukommelsesforbrug i klyngen. Det interagerer med NameNode om de data, hvor de befinder sig for at træffe beslutning om ressourcetildelingen.

3. MapReduce

Hadoop-økosystemet er en omkostningseffektiv, skalerbar og fleksibel måde at arbejde med så store datasæt på. Hadoop er en ramme, der bruger en bestemt programmeringsmodel, kaldet MapReduce, til at opdele beregningsopgaver i blokke, der kan distribueres omkring en klynge af varemaskiner ved hjælp af Hadoop Distribueret Filesystem (HDFS).

MapReduce er en to forskellige opgaver. Kort og formindsk, kort forud for reduktionsfasen. Som navnet antyder Kortfase kortlægger dataene i nøgleværdipar, som vi alle ved, Hadoop bruger nøgleværdier til behandling. Reduktionsfase er den fase, hvor vi har den faktiske logik, der skal implementeres. Bortset fra disse to faser implementerer det også blanding og sortering af fase.

1. Kortlægning

Mapper er den klasse, hvor inputfilen konverteres til nøgler og værdipar til videre behandling. Ved læsning af data læses de kun i nøgleværdier, hvor nøglen er bitforskydningen, og værdien er hele posten.

F.eks. Har vi en fil Diary.txt, ved at vi har to linjer skrevet, dvs. to poster.

Dette er en vidunderlig dag, vi bør nyde her, forskydningerne til 't' er 0, og for 'w' er det 33 (hvide rum betragtes også som et tegn), så kortlægningen læser dataene som nøgleværdipar, som (nøgle, værdi), (0, dette er en vidunderlig dag), (33, vi bør nyde)

2. Reducer

Reducer er den klasse, der accepterer nøgler og værdier fra output fra kortlæggerens fase. Taster og værdier genereret fra kortlægning accepteres som input i reducer til videre behandling. Reducer accepterer data fra flere kortlæggere. Reducer aggregerer disse mellemdata til et reduceret antal nøgler og værdier, som er den endelige output, vi vil se dette i eksemplet.

3. Driver

Bortset fra kort og reduktionsklasse har vi brug for endnu en klasse, der er førerklasse. Denne kode er nødvendig for MapReduce, da det er broen mellem den ramme og den implementerede logik. Det specificerer konfigurationen, inputdata stien, output lagringsstien og vigtigst af hvilke mapper og reducer klasser der skal implementeres også indstilles mange andre konfigurationer i denne klasse. fx i driverklassen, kan vi specificere separatoren for outputfilen som vist i driverklassen i eksemplet nedenfor.

Eksempel

Overvej, at vi har et datasæt med rejsebureau, nu skal vi beregne ud fra dataene, hvor mange mennesker der vælger at rejse til en bestemt destination. For at opnå dette bliver vi nødt til at tage destinationen som nøgle, og for tællingen tager vi værdien som 1. Så i kortlægningsfasen kortlægger vi destinationen til værdi 1. Nu i shuffle og sorteringsfase efter kortlægningen, det vil kortlægge alle værdier til en bestemt nøgle. F.eks. Hvis vi har en destination som MAA, har vi kortlagt 1, så har vi 2 forekomster efter blanding og sortering, vil vi få MAA, (1, 1) hvor (1, 1) er værdien. Nu i reduktionsfasen har vi allerede implementeret en logik i reduceringsfasen for at tilføje værdierne for at få det samlede antal af billetten, der er booket til destinationen. Dette er strømmen af ​​MapReduce.

Nedenfor er skærmbilledet af det implementerede program til ovenstående eksempel.

1. Driverklasse

2. Mapper Class

3. Reducer klasse

Udførelse af Hadoop

Til udførelse af Hadoop er vi først nødt til at bygge krukken og derefter kan vi udføre ved hjælp af kommandoen Hadoop jar eample.jar /input.txt /output.txt nedenfor

Konklusion

Her har vi drøftet kernekomponenterne i Hadoop som HDFS, Map Reduce og YARN. Det er en distribueret klyngeregistreringsramme, der hjælper med at lagre og behandle dataene og udføre den krævede analyse på de indfangede data. Hadoop er fleksibel, pålidelig med hensyn til data, da data er replikeret og skalerbare, dvs. vi kan tilføje flere maskiner til klyngen til lagring og behandling af data.

Anbefalede artikler

Dette har været en guide til Hadoop Components. Her diskuterede vi kernekomponenterne i Hadoop med eksempler. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Introduktion til JDBC Architecture
  2. Hvad er Hadoop Cluster?
  3. Hvad er MapReduce i Hadoop?
  4. Hvad er Big data og Hadoop
  5. Hadoop fs kommandoer

Kategori: