Video: Hvad er data sampling? 2025
Apache Hadoop er en gratis softwareplatform til open source software til skrivning og kørsel af applikationer, der behandler en stor mængde data til prædiktiv analyse. Det muliggør en distribueret parallel behandling af store datasæt genereret fra forskellige kilder. Grundlæggende er det et effektivt værktøj til lagring og behandling af store data.
Hadoop lagrer enhver form for data, struktureret eller ustruktureret, fra forskellige kilder - og aggregerer derefter dataene på næsten hvilken som helst måde. Hadoop håndterer heterogene data ved hjælp af distribueret parallelbehandling - hvilket gør det til en meget effektiv ramme til brug i analytisk software, der beskæftiger sig med store data. Ikke underligt, at nogle store virksomheder vedtager Hadoop, herunder Facebook, Yahoo!, Google, IBM, Twitter og LinkedIn.
Før Hadoop kunne virksomheder ikke drage fordel af store data, som ikke blev analyseret og næsten ubrugelige. Omkostningerne til at gemme disse data i en proprietær relationel database og skabe et struktureret format omkring det, begrundede ikke fordelene ved at analysere disse data og gøre brug af det.
Hadoop gør på den anden side den opgave sømløs - til en brøkdel af prisen - så virksomhederne kan finde værdifulde indsigter i de rigelige data, de har erhvervet og akkumulerer.
Du behøver ikke at opbygge et skema, før du kan forstå dine data; Hadoop giver dig mulighed for at forespørge disse data i sit originale format.
Hadoop bruger to hovedkomponenter (delprojekter) til at udføre sit job: MapReduce og Hadoop Distributed File System. De to komponenter arbejder samarbejdsvilligt:
MapReduce
-
: Hadops implementering af MapReduce er baseret på Googles forskning om programmeringsmodeller til at behandle store datasæt ved at dele dem i små blokke af opgaver. MapReduce bruger distribuerede algoritmer på en gruppe computere i en klynge til at behandle store datasæt.Den består af to funktioner:
-
Map () funktionen , som ligger på master node (netværkskomputer). Det deler indgangsforespørgslen eller opgaven i mindre undertekster, som den derefter distribuerer til medarbejderknudepunkter , der behandler de mindre opgaver og sender svarene tilbage til masternoden. Undertaserne køres parallelt på flere computere. Funktionen
-
Reduce () funktionen samler resultaterne af alle underteksterne og kombinerer dem til at producere et aggregeret slutresultat - hvilket det vender tilbage som svaret på den oprindelige store forespørgsel. Hadoop Distributed File System (HDFS)
-
-
: HDFS replikerer datablokkerne, der opholder sig på andre computere i dit datacenter (for at sikre pålidelighed) og styrer overførsel af data til de forskellige dele af dit distribuerede system. Overvej en database på to milliarder mennesker, og antager, at du vil beregne antallet af sociale venner af Mr. X og arrangere dem i henhold til deres geografiske placering. Det er en høj ordre.
Dataene for to milliarder mennesker kunne stamme fra meget forskellige kilder, som f.eks. Sociale netværk, e-mail-kontaktlister, indlæg, tweets, browsinghistorier - og det er kun for åbnere. Hadoop kan samle denne enorme, forskelligartede masse af data, så du kan undersøge det med en simpel forespørgsel.
Du vil bruge MapReduce programmeringsfunktioner til at løse denne forespørgsel. Definere Kort og Reducer procedurer gør selv dette store datasæt håndterbart. Ved hjælp af værktøjerne, som Hadoop-rammen tilbyder, ville du oprette en MapReduce-implementering, der ville gøre beregningen som to undergrupper:
Beregn det gennemsnitlige antal sociale venner af Mr. X.
-
Arranger Mr. Xs venner efter geografisk placering.
-
Dit MapReduce implementeringsprogram vil køre disse undertekster parallelt, styre kommunikation mellem underteksterne og samle resultaterne. Ud af to milliarder mennesker vil du vide, hvem Mr. Xs online venner er.
Hadoop leverer en række kortprocessorer; hvilken (e) du vælger vil afhænge af din infrastruktur.
Hver af dine processorer håndterer et vist antal poster. Antag at hver processor håndterer en million dataposter. Hver processor udfører en kortprocedure, der producerer flere poster af nøgleværdipar, hvor
G (nøgle) er den geografiske placering en person (land) og N (værdi) er antallet af kontakter, personen har. Antag, at hver Map-processor producerer mange par af formularen, f.eks. Følgende:
Processor Map # 1:
Processor Map # 2:
Processor Map # 3:
Processor Map # 4:
Processor Map # 5:
Processor Map # 6:
I reduktionsfasen tildeler Hadoop en opgave til et bestemt antal processorer: Udfør reduktionsproceduren, der aggregerer værdierne for de samme nøgler for at producere et endeligt resultat. I dette eksempel summerer summen af værdier for hver nøgle geografisk placering, Reducer implementeringen. Så efter kortfasen frembringer reduktionsfasen følgende:
------ ----
Det er klart, hr.X er en populær fyr - men dette var et meget simpelt eksempel på, hvordan MapReduce kan bruges. Forestil dig at du beskæftiger dig med et stort datasæt, hvor du vil udføre komplekse operationer som f.eks. Klyngning af milliarder dokumenter, hvor operationen og dataene er lige for store til, at en enkelt maskine kan håndtere. Hadoop er værktøjet til at overveje.