Video: 03. Inndata skjema Joomla DB 2025
måten HDFS er satt opp, bryter ned svært store filer i store blokker (for eksempel måling 128 MB) og lagrer tre eksemplarer av disse blokkene på forskjellige noder i klyngen. HDFS har ingen bevissthet om innholdet i disse filene.
I YARN, når en MapReduce-jobb startes, vil ressursbehandleren (klyngen ressursstyring og jobb planlegging anlegget) Oppretter en Application Master daemon for å ta vare på livssyklusen til jobben. (I Hadoop 1 overvåket JobTracker individuelle jobber, samt håndtering av jobbplanlegging og klyngeressursforvaltning.)
lokalt - når slappoden er lagret. Før du ser på hvordan datablokker behandles, må du se nærmere på hvordan Hadoop lagrer data. I Hadoop er filene sammensatt av individuelle poster, som i siste instans behandles en etter en ved mapperoppgaver.
Eksempeldatasettet inneholder for eksempel informasjon om fullførte flyreiser i USA mellom 1987 og 2008.
Du har en stor fil for hvert år, og i hver enkelt fil representerer hver enkelt linje et enkelt fly. Med andre ord representerer én linje en post. Husk at blokkstørrelsen for Hadoop-klyngen er 64 MB, noe som betyr at de lette datafilene er brutt i biter på nøyaktig 64 MB.
Ser du problemet? Hvis hver kartoppgave behandler alle poster i en bestemt datablokk, hva skjer med de postene som spenner over blokkgrenser? Filblokkene er nøyaktig 64 MB (eller hva du angir blokkstørrelsen skal være), og fordi HDFS ikke har noen oppfatning av hva som er inne i filblokkene, kan det ikke spåre når en plate kan spole over i en annen blokk.
For å løse dette problemet bruker Hadoop en logisk representasjon av dataene som er lagret i filblokker, kjent som
inngangssplittelser . Når en MapReduce-jobbklient beregner inngangssplittelsene, viser den hvor den første hele posten i en blokk begynner og hvor den siste posten i blokken slutter. I tilfeller der den siste posten i en blokk er ufullstendig, inneholder inngangssplitten plasseringsinformasjon for neste blokk og byteforskyvningen av dataene som trengs for å fullføre posten.
Figuren viser dette forholdet mellom datablokker og inngangssplitt.
Du kan konfigurere Application Master daemon (eller JobTracker, hvis du er i Hadoop 1) for å beregne inngangssplittene i stedet for jobbklienten, noe som ville være raskere for jobber som behandler et stort antall datablokker.
MapReduce databehandling er drevet av dette konseptet av input splits. Antall innspill som beregnes for et bestemt program, bestemmer antall mapperoppgaver. Hver av disse mapper oppgavene er tildelt, når det er mulig, til en slave node der inngangssplitten er lagret. Ressursbehandleren (eller JobTracker, hvis du er i Hadoop 1), gjør sitt beste for å sikre at inngangssplittelser behandles lokalt.
