Introduksjon til Hadoop-komponenter

Hadoop-komponenter er hovedsakelig HDFS, Map Reduce, Garn. I dag lever vi i en digital tidsalder hvor dataproduksjonshastigheten er veldig høy, omtrent når vi produserer 2, 5 kvintillioner av data per dag. Selv om lagringskapasiteten til disken øker, men søkehastigheten ikke har økt for dette volumet av data. For å få bukt med dette må vi lese dataene parallelt, for å oppnå dette i Hadoop har vi et HDFS (Hadoop Distribuert filsystem) der datasettene er lagret som blokker i HDFS (for mer informasjon se HDFS-delen) for å lese data parallelt og oppnå høyere prosesseringshastighet. Behandlingen av data gjøres for å hente eller for å forutsi meningsfull informasjon eller for å få noen trender eller mønstre. MapReduce-prosessen brukes til å effektivisere for å få ønsket informasjon. Kart og reduser er de to forskjellige faser av behandlingsdata.

Hovedkomponenter i Hadoop

De viktigste komponentene i Hadoop er beskrevet nedenfor:

1. Hadoop Distribuert filsystem (HDFS)

HDFS er lagringslaget for Big Data, det er en klynge av mange maskiner, lagrede data kan brukes til prosessering ved bruk av Hadoop. Når dataene er skjøvet til HDFS, kan vi behandle dem når som helst, til det tidspunktet vi behandler dataene vil være bosatt i HDFS til vi sletter filene manuelt. HDFS lagrer dataene som en blokk, minimumsstørrelsen på blokken er 128 MB i Hadoop 2.x og for 1.x var den 64 MB. HDFS kopierer blokkene for tilgjengelige data hvis data er lagret i en maskin, og hvis maskinen mislykkes, går ikke data tapt, men for å unngå disse, blir data kopiert på forskjellige maskiner. Replikasjonsfaktor er som standard 3 og vi kan endre i HDFS-site.xml eller bruke kommandoen Hadoop fs -strep -w 3 / dir ved å replisere at vi har blokkene på forskjellige maskiner for høy tilgjengelighet.
HDFS er en master-slave-arkitektur, det er NameNode som master og Data Node som slave. NameNode er maskinen der alle metadataene er lagret av alle blokkene som er lagret i DataNode.

2. Garn

YARN ble introdusert i Hadoop 2.x, før det hadde Hadoop en JobTracker for ressursstyringen. Job Tracker var mesteren og den hadde en Task Tracker som slaven. Job Tracker var den som pleide å ta seg av planleggingen av jobbene og tildeling av ressurser. Task Tracker brukes til å ta vare på kartet og redusere oppgavene, og status ble periodisk oppdatert til Job Tracker. With er en type ressurssjef det hadde en skalerbarhetsgrense og samtidig utførelse av oppgavene var også en begrensning. Disse problemene ble adressert i YARN, og det tok seg av ressursfordeling og planlegging av jobber i en klynge. Utføre et kart Reduser jobb trenger ressurser i en klynge for å få ressursene som er avsatt til jobben YARN hjelper. YARN bestemmer hvilken jobb som skal gjøres og hvilken maskin den gjøres. Den har all informasjon om tilgjengelige kjerner og minne i klyngen, den sporer minneforbruket i klyngen. Den samhandler med NameNode om dataene der de er bosatt for å ta beslutningen om ressursfordelingen.

3. MapReduce

Hadoop-økosystemet er en kostnadseffektiv, skalerbar og fleksibel måte å jobbe med så store datasett på. Hadoop er et rammeverk som bruker en bestemt programmeringsmodell, kalt MapReduce, for å dele opp beregningsoppgaver i blokker som kan fordeles rundt en klynge av varemaskiner ved hjelp av Hadoop Distribuerte Filesystem (HDFS).

MapReduce er en to forskjellige oppgaver. Map and Reduce, Map går foran reduksjonsfasen. Som navnet antyder Kartfase kartlegger dataene i nøkkelverdipar, som vi alle vet at Hadoop bruker nøkkelverdier for behandling. Reduseringsfase er den fasen der vi har den faktiske logikken som skal implementeres. Bortsett fra disse to fasene, implementerer den også blanding og sortering av fase.

1. Kartlegger

Mapper er klassen der inngangsfilen blir konvertert til nøkler og verdipar for videre behandling. Når du leser dataene blir den lest i nøkkelverdier bare der nøkkelen er bitforskyvningen og verdien er hele posten.

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

Dette er en fantastisk dag vi bør glede oss over her, forskyvningene for 't' er 0 og for 'w' er den 33 (hvite mellomrom regnes også som et tegn), så mapper vil lese dataene som nøkkelverdi-par, som (nøkkel, verdi), (0, dette er en fantastisk dag), (33, vi bør glede oss)

2. Reduserer

Reducer er klassen som tar imot nøkler og verdier fra utgangen fra kartleggersfasen. Nøkler og verdier generert fra mapper aksepteres som inngang i reduser for videre behandling. Reducer godtar data fra flere kartleggere. Reduserer aggregerer disse mellomdataene til et redusert antall nøkkel og verdier som er den endelige utdata, vi vil se dette i eksemplet.

3. Driver

Bortsett fra kort og reduseringsklasse, trenger vi en klasse til som er Driverklasse. Denne koden er nødvendig for MapReduce, da det er broen mellom rammen og logikken som er implementert. Den spesifiserer konfigurasjonen, inndatadataen, utlagringsbanen og viktigst av hvilke kartleggings- og reduksjonsklasser som må implementeres, og mange andre konfigurasjoner skal settes i denne klassen. for eksempel i driverklassen, kan vi spesifisere separatoren for utdatafilen som vist i driverklassen i eksemplet nedenfor.

Eksempel

Tenk på at vi har et datasett med reisebyrå, nå må vi beregne ut fra dataene at hvor mange som velger å reise til et bestemt reisemål. For å oppnå dette må vi ta destinasjon som nøkkel, og for tellingen vil vi ta verdien som 1. Så i kartleggingsfasen vil vi kartlegge destinasjonen til verdi 1. Nå i shuffle og sortere fase etter kartleggingen, det vil kartlegge alle verdiene til en bestemt nøkkel. F.eks. Hvis vi har en destinasjon som MAA har vi kartlagt 1 også har vi 2 forekomster etter stokking og sortering vil vi få MAA, (1, 1) hvor (1, 1) er verdien. Nå i reduksjonsfasen har vi allerede implementert en logikk i reduksjonsfasen for å legge til verdiene for å få det totale antallet billetter som er bestilt for destinasjonen. Dette er flyten av MapReduce.

Nedenfor er skjermdumpen av det implementerte programmet for eksemplet ovenfor.

1. Driverklasse

2. Kartleggerklasse

3. Reduseringsklasse

Utfører Hadoop

For utføring av Hadoop, må vi først bygge glasset, og deretter kan vi utføre ved å bruke kommandoen Hadoop jar eample.jar /input.txt /output.txt nedenfor

Konklusjon

Her har vi diskutert kjernekomponentene i Hadoop som HDFS, Map Reduce og YARN. Det er et distribuert klyngedatamenteringsramme som hjelper til med å lagre og behandle dataene og gjøre den nødvendige analysen på de innfangede dataene. Hadoop er fleksibel, pålitelig med tanke på data ettersom data er replikert og skalerbar, dvs. vi kan legge til flere maskiner i klyngen for lagring og behandling av data.

Anbefalte artikler

Dette har vært en guide til Hadoop Components. Her diskuterte vi kjernekomponentene i Hadoop med eksempler. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Introduksjon til JDBC Architecture
  2. Hva er Hadoop Cluster?
  3. Hva er MapReduce i Hadoop?
  4. Hva er Big data og Hadoop
  5. Hadoop fs Kommandoer

Kategori: