Huis Persoonlijke financiën MapReduce gebruiken voor Big Data - dummies

MapReduce gebruiken voor Big Data - dummies

Inhoudsopgave:

Video: Wat is er 'Big' aan 'Big Data'? | BIG DATA 2024

Video: Wat is er 'Big' aan 'Big Data'? | BIG DATA 2024
Anonim

MapReduce is een softwarematig framework dat ideaal is voor big data omdat het ontwikkelaars in staat stelt programma's te schrijven die enorme hoeveelheden ongestructureerde gegevens parallel kunnen verwerken in een gedistribueerde groep processors.

De kaartfunctie voor big data

De kaart -functie maakt al jarenlang deel uit van vele functionele programmeertalen. Map is nieuw leven ingeblazen als kerntechnologie voor het verwerken van lijsten met gegevenselementen.

Operators in functionele talen veranderen de structuur van de gegevens niet; ze creëren nieuwe gegevensstructuren als hun uitvoer. De originele gegevens zelf zijn ook ongewijzigd. U kunt dus de kaartfunctie ongestraft gebruiken, omdat dit uw kostbare opgeslagen gegevens niet schaadt.

Een ander voordeel van functioneel programmeren is dat de beweging of stroom van gegevens niet expliciet hoeft te worden beheerd. Dit ontslaat de programmeur van het expliciet beheren van de gegevensuitvoer en plaatsing. Ten slotte is de volgorde van de bewerkingen op de gegevens niet voorgeschreven.

Een manier om de oplossing te bereiken is om de invoergegevens te identificeren en een lijst te maken:

mylist = ("alle provincies in de VS die hebben deelgenomen aan de meest recente algemene verkiezingen") > Maak de functie hoeManyPeople die de kaartfunctie

gebruikt. Hiermee worden alleen de provincies met meer dan 50.000 mensen geselecteerd: map howManyPeople (mijnlijst) = [howManyPeople "county 1"; howManyPeople "county 2"; howManyPeople "county 3"; howManyPeople "county 4"; …]

Maak nu een nieuwe uitvoerlijst van alle provincies met populaties groter dan 50, 000:

(nee, provincie 1; ja, provincie 2; nee, provincie 3; ja, provincie 4;? Provincie nnn)
De functie wordt uitgevoerd zonder wijzigingen aan te brengen aan de oorspronkelijke lijst. Bovendien kunt u zien dat elk element van de uitvoerlijst wordt toegewezen aan een overeenkomstig element van de invoerlijst, met een ja of nee bijgevoegd. Als de provincie aan de vereiste van meer dan 50.000 mensen heeft voldaan, identificeert de kaartfunctie deze met een ja. Zo niet, dan wordt een nee aangegeven.

Voeg de verkleinfunctie toe voor big data

Net als de kaartfunctie is

verminderen al vele jaren een functie van functionele programmeertalen. De functie reduceren neemt de uitvoer van een kaartfunctie en "vermindert" de lijst op welke manier dan ook die de programmeur wenst. De eerste stap die de reductiefunctie vereist, is om een ​​waarde te plaatsen in iets genaamd een

accumulator , die een beginwaarde heeft. Nadat een startwaarde in de accumulator is opgeslagen, verwerkt de functie voor verkleinen vervolgens elk element van de lijst en voert de bewerking uit die u nodig hebt in de lijst.

Aan het einde van de lijst retourneert de functie verkleinen een waarde op basis van de bewerking die u in de uitvoerlijst wilde uitvoeren.

Stel dat u de districten moet identificeren waar de meerderheid van de stemmen voor de Democratische kandidaat was. Vergeet niet dat uw howManyPeople-kaartfunctie elk element van de invoerlijst heeft bekeken en een uitvoerlijst heeft gemaakt van de provincies met meer dan 50.000 mensen (ja) en de provincies met minder dan 50.000 mensen (nee).

Na het aanroepen van de howManyPeople-kaartfunctie, blijft er een lijst met de volgende uitvoer over:

(nee, provincie 1; ja, provincie 2; nee, provincie 3; ja, provincie 4;?, county nnn)

Dit is nu de invoer voor uw functie verminderen. Hier is hoe het eruit ziet:

countylist = (nee, provincie 1; ja, provincie 2; nee, provincie 3; ja, provincie 4;?, Provincie nnn) verminderen isDemocrat (provincielijst)

De functieprocessen verminderen elk element van de lijst en geeft een lijst van alle provincies met een bevolking van meer dan 50.000, waar de meerderheid Democratisch werd gekozen.

De big data-map plaatsen en samen kleiner worden

Soms is het produceren van een uitvoerlijst net voldoende. Evenzo is soms het uitvoeren van bewerkingen op elk element van een lijst voldoende. Meestal wilt u grote hoeveelheden invoergegevens bekijken, bepaalde elementen uit de gegevens selecteren en vervolgens iets van waarde uit de relevante stukjes gegevens berekenen.

U wilt die invoerlijst niet wijzigen, zodat u deze op verschillende manieren kunt gebruiken met nieuwe aannames en nieuwe gegevens.

Softwareontwikkelaars ontwerpen toepassingen op basis van algoritmen. Een

-algoritme is niets meer dan een reeks stappen die moeten worden uitgevoerd om een ​​algemeen doel te bereiken. Het ziet er ongeveer als volgt uit: Begin met een groot aantal gegevens of records.

  1. Herhaal de gegevens.

  2. Gebruik de kaartfunctie om iets interessants te extraheren en een uitvoerlijst te maken.

  3. Organiseer de uitvoerlijst om deze te optimaliseren voor verdere verwerking.

  4. Gebruik de functie Verkleinen om een ​​reeks resultaten te berekenen.

  5. Genereer de uiteindelijke uitvoer.

  6. Programmeurs kunnen allerlei soorten toepassingen met deze aanpak implementeren, maar de voorbeelden tot nu toe waren erg eenvoudig, dus de echte waarde van MapReduce is misschien niet duidelijk. Wat gebeurt er wanneer u extreem grote invoergegevens hebt? Kun je hetzelfde algoritme gebruiken op terabytes aan gegevens? Het goede nieuws is ja.

Alle bewerkingen lijken onafhankelijk. Dat is omdat ze zijn. De echte kracht van MapReduce is het vermogen om te delen en te overwinnen. Neem een ​​heel groot probleem en breek het in kleinere, beter beheersbare brokken, werk afzonderlijk op elk stuk en trek alles aan het einde samen. Verder is de kaartfunctie commutatief - met andere woorden, de volgorde waarin een functie wordt uitgevoerd doet er niet toe.

Dus MapReduce kan zijn werk op verschillende machines in een netwerk uitvoeren. Het kan ook putten uit meerdere gegevensbronnen, intern of extern. MapReduce houdt zijn werk bij door een unieke sleutel te maken om ervoor te zorgen dat alle verwerking gerelateerd is aan het oplossen van hetzelfde probleem.Deze sleutel wordt ook gebruikt om alle uitvoer samen te brengen aan het einde van alle verdeelde taken.

MapReduce gebruiken voor Big Data - dummies

Bewerkers keuze

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Wanneer het komt om het voordeel dat u van LinkedIn krijgt te maximaliseren, bent u uw grootste pleitbezorger. Hoewel je netwerk van connecties je helpt te groeien, gebeurt veel van je marketing zonder dat je erbij betrokken bent. Nadat je je profiel hebt aangemaakt, worden die en andere LinkedIn-activiteit van je gelezen en beoordeeld door de ...

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Deze dagen, wanneer u naar een nieuwe stad moet verhuizen, kunt u er veel plannen voor maken op LinkedIn en op internet. Je kunt de buurten onderzoeken, de schoolsystemen bekijken en online naar huizen gaan. Je kunt een stap verder gaan als je van plan bent om naar een andere ...

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

U zeker wilt dat u de juiste instellingen selecteert contactinstellingen voor uw LinkedIn-profiel. Als u bijvoorbeeld op zoek bent naar een nieuwe baan, wilt u er zeker van zijn dat de optie voor Carrièremogelijkheden is gecontroleerd. Wanneer u klaar bent om uw contactinstellingen te controleren, volgt u deze stappen: Ga naar ...

Bewerkers keuze

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Uw Canon EOS Rebel XS / 1000D heeft alle functies die u kunt gebruiken om fantastische foto's te maken. Je moet de beeldmodus instellen op het onderwerp van je foto en de Canon EOS Rebel XS / 1000D laat je volledig of gedeeltelijk automatisch gaan met de belichtingsinstellingen.

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Live-modus Met autofocus kunt u de focus instellen op uw Canon EOS Rebel T3 of T3i zonder tijdelijk het voorbeeld van de monitor te verliezen. Bovendien, in plaats van het selecteren van negen autofocuspunten, verplaatst u eenvoudig een enkel scherpstelpunt over uw onderwerp. Aan de andere kant is de autofocus van de Live-modus merkbaar langzamer dan in de Quick-modus, en ...

Bewerkers keuze

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Tekstgrootte wordt ingesteld in uw Word 2016 document gebaseerd over de meting van de oude letterzetter, ook wel punten genoemd. Hier zijn enkele aandachtspunten waarmee u rekening moet houden bij het opmaken van tekst in Word: hoe groter de puntgrootte, hoe groter de tekst. De meeste gedrukte tekst is 10 of 12 punten lang. Koppen zijn meestal 14 ...

Grammatica controleren in Word 2007 - dummies

Grammatica controleren in Word 2007 - dummies

Naast het controleren op correcte spelling, kunt u met Word 2007 ook om uw documenten te bewijzen om grammaticale fouten te voorkomen. U kunt de grammaticasuggesties van Word bekijken terwijl u door het document bladert, of u kunt een traditionele spellingcontrole uitvoeren. Word biedt u zelfs de kans om de gemarkeerde fout te onderzoeken en meer te leren van ...

Spelling controleren terwijl u typt in Word 2013 - dummies

Spelling controleren terwijl u typt in Word 2013 - dummies

Woord 2013 heeft een interne bibliotheek vol met ontelbare woorden, allemaal correct gespeld. Telkens wanneer u een woord typt, wordt het vergeleken met dat woordenboek. Wanneer het woord niet wordt gevonden, wordt dit als verdacht gemarkeerd in uw document. Het merk is een rode zigzaglijn. Mijn advies: blijf typen. Laat de "rode zigzag van een ...