Casa Finanza personale Come usare MapReduce per i Big Data - dummies

Come usare MapReduce per i Big Data - dummies

Sommario:

Video: Big Data in pillole da BrainWise 2024

Video: Big Data in pillole da BrainWise 2024
Anonim

MapReduce è una struttura software ideale per i big data perché consente agli sviluppatori di scrivere programmi in grado di elaborare enormi quantità di dati non strutturati in parallelo su un gruppo distribuito di processori.

La funzione mappa per i big data

La funzione mappa è stata una parte di molti linguaggi di programmazione funzionale per anni. La mappa è stata rinvigorita come tecnologia di base per elaborare elenchi di elementi di dati.

Gli operatori in linguaggi funzionali non modificano la struttura dei dati; creano nuove strutture di dati come output. Anche i dati originali non sono modificati. Quindi puoi usare la funzione mappa con impunità perché non danneggerà i tuoi preziosi dati memorizzati.

Un altro vantaggio della programmazione funzionale non è la necessità di gestire espressamente il movimento o il flusso dei dati. Questo assolve il programmatore dalla gestione esplicita dell'output e del posizionamento dei dati. Infine, l'ordine delle operazioni sui dati non è prescritto.

Un modo per raggiungere la soluzione è identificare i dati di input e creare un elenco:

mylist = ("tutte le contee negli Stati Uniti che hanno partecipato alle ultime elezioni generali") > Creare la funzione su comeMolte persone utilizzano la funzione mappa

. Seleziona solo le contee con più di 50.000 persone: mappa howManyPeople (mylist) = [howManyPeople "county 1"; howManyPeople "county 2"; howManyPeople "county 3"; howManyPeople "county 4"; …]

Ora produce un nuovo elenco di output di tutte le contee con popolazioni superiori a 50.000:

(no, contea 1; sì, contea 2; no, contea 3; sì, contea 4;?, Contea nnn)
La funzione viene eseguita senza apportare modifiche all'elenco originale. Inoltre, è possibile vedere che ogni elemento dell'elenco di output viene mappato a un elemento corrispondente dell'elenco di input, con un sì o nessun allegato. Se la contea ha soddisfatto il requisito di oltre 50.000 persone, la funzione mappa lo identifica con un sì. In caso contrario, viene indicato un no.

Aggiungi la funzione di riduzione per i big data

Come la funzione mappa,

riduce è stata una caratteristica dei linguaggi di programmazione funzionale per molti anni. La funzione reduce prende l'output di una funzione mappa e "riduce" l'elenco in qualsiasi modo desideri dal programmatore. Il primo passaggio richiesto dalla funzione di riduzione consiste nel posizionare un valore in qualcosa chiamato

accumulatore , che contiene un valore iniziale. Dopo aver memorizzato un valore iniziale nell'accumulatore, la funzione di riduzione elabora quindi ciascun elemento dell'elenco ed esegue l'operazione necessaria nell'intero elenco.

Alla fine dell'elenco, la funzione reduce restituisce un valore in base all'operazione che si desidera eseguire nell'elenco di output.

Supponiamo che sia necessario identificare le contee in cui la maggior parte dei voti era destinata al candidato democratico. Ricorda che la tua funzione mapManyPeople ha esaminato ogni elemento dell'elenco di input e creato un elenco di output delle contee con più di 50.000 persone (sì) e le contee con meno di 50.000 persone (no).

Dopo aver richiamato la funzione map di howManyPeople, ti rimane la seguente lista di output:

(no, contea 1; sì, contea 2; no, contea 3; sì, contea 4;?, county nnn)

Questo è ora l'input per la funzione di riduzione. Ecco come appare:

countylist = (no, contea 1; sì, contea 2; no, contea 3; sì, contea 4;?, Contea nnn): riduce isDemocrat (contea)

I processi di riduzione della funzione ogni elemento della lista e restituisce un elenco di tutte le contee con una popolazione superiore a 50.000, in cui la maggioranza ha votato democratico.

Mettere la mappa dei big data e ridurre insieme

A volte produrre un elenco di output è sufficiente. Allo stesso modo, a volte è sufficiente eseguire operazioni su ciascun elemento di una lista. Molto spesso, si desidera esaminare grandi quantità di dati di input, selezionare determinati elementi dai dati e quindi calcolare qualcosa di valore dalle relative parti di dati.

Non si desidera modificare l'elenco di input in modo da poterlo utilizzare in modi diversi con nuove ipotesi e nuovi dati.

Gli sviluppatori di software progettano applicazioni basate su algoritmi. Un algoritmo

non è altro che una serie di passaggi che devono essere eseguiti al servizio di un obiettivo generale. Potrebbe sembrare un po 'come questo: Inizia con un grande numero di dati o record.

  1. Iterate sui dati.

  2. Usa la funzione mappa per estrarre qualcosa di interessante e creare un elenco di output.

  3. Organizzare l'elenco di output per ottimizzare l'ulteriore elaborazione.

  4. Usa la funzione di riduzione per calcolare un insieme di risultati.

  5. Produce l'output finale.

  6. I programmatori possono implementare tutti i tipi di applicazioni usando questo approccio, ma gli esempi a questo punto sono stati molto semplici, quindi il valore reale di MapReduce potrebbe non essere evidente. Cosa succede quando hai dati di input estremamente grandi? Puoi usare lo stesso algoritmo su terabyte di dati? La buona notizia è sì.

Tutte le operazioni sembrano indipendenti. Questo perché lo sono. Il vero potere di MapReduce è la capacità di dividere e conquistare. Prendete un problema molto grande e spezzatelo in pezzi più piccoli, più gestibili, operate su ciascun blocco in modo indipendente e poi tiratelo tutti insieme alla fine. Inoltre, la funzione mappa è commutativa - in altre parole, l'ordine in cui una funzione viene eseguita non ha importanza.

Quindi MapReduce può eseguire il proprio lavoro su diversi computer in una rete. Può anche disegnare da più fonti di dati, interne o esterne. MapReduce tiene traccia del suo lavoro creando una chiave unica per garantire che tutto il processo sia correlato alla risoluzione dello stesso problema.Questo tasto viene anche utilizzato per riunire tutti gli output alla fine di tutte le attività distribuite.

Come usare MapReduce per i Big Data - dummies

Scelta dell'editore

Dove Java si inserisce: storia della programmazione - manichini

Dove Java si inserisce: storia della programmazione - manichini

Scopri come Java si adatta al computer e alla tecnologia di oggi scena. Ecco una breve storia della programmazione moderna dei computer (l'intera storia della programmazione per computer ha solo 60 anni): 1954-1957: FORTRAN è sviluppato. FORTRAN è stato il primo linguaggio di programmazione per computer moderno. Per la programmazione scientifica, FORTRAN è un vero cavallo da corsa. Anno dopo anno, FORTRAN è ...

Cosa è Jakarta Struts? - dummies

Cosa è Jakarta Struts? - dummies

Jakarta Struts è incredibilmente utile per aiutarti a creare eccellenti applicazioni Web. Quando usi Jakarta Struts, le tue applicazioni dovrebbero funzionare in modo più efficace e avere meno bug. Altrettanto importante (perché il tuo tempo è importante), Struts dovrebbe farti risparmiare ore e ore di programmazione e debug. Struts è un framework che struttura tutti i componenti ...

Che elenca i dati in HTML - dummies

Che elenca i dati in HTML - dummies

I siti Web hanno utilizzato elenchi da decenni per trasmettere informazioni correlate o gerarchiche. Nella figura seguente, è possibile vedere una versione precedente di Yahoo. com che utilizza elenchi puntati per visualizzare varie categorie e gli Allrecipes di oggi. pagina della ricetta di com, che utilizza gli elenchi per visualizzare vari ingredienti. Le liste iniziano con un simbolo, un rientro e poi l'elenco ...

Scelta dell'editore

Crea Animazione Flash CS5 con Poses - dummies

Crea Animazione Flash CS5 con Poses - dummies

Dopo aver creato una serie di oggetti IK connessi in Adobe Flash Creative Suite 5, puoi metterli in movimento con pose. Posa acquisisce diverse posizioni dei tuoi oggetti IK e Flash CS5 può animare da posa a posa per creare sofisticate sequenze di animazione. Dopo aver creato un livello di armatura, è possibile inserire pose ...

Crea gradienti in Flash CS5 - manichini

Crea gradienti in Flash CS5 - manichini

Gradienti in Adobe Flash Creative Suite 5 sono combinazioni di due o più colori che può usare per riempire qualsiasi area o forma, proprio come un colore solido. Il pannello Campioni di Flash CS5 offre alcuni predefiniti di sfumatura che puoi utilizzare immediatamente. Puoi anche utilizzare il pannello Colore per creare sfumature personalizzate ...

Disegna e Unisci forme in Flash CS5 - manichini

Disegna e Unisci forme in Flash CS5 - manichini

Ti consigliamo di familiarizzare con gli strumenti Forma Pannello Strumenti di Adobe Flash Creative Suite 5; li utilizzerai come punto di partenza per tutto, dai pulsanti di base alle complesse illustrazioni di Flash CS5. Come disegnare una forma in Flash CS5 Individuare lo strumento Rettangolo; nota anche una piccola freccia in basso a destra ...

Scelta dell'editore

Configurare le impostazioni di ricerca dei siti di SharePoint 2010 - dummies

Configurare le impostazioni di ricerca dei siti di SharePoint 2010 - dummies

La casella di ricerca è solo una casella di testo con il prompt Cerca Questo sito al suo interno. Immediatamente, è possibile creare una pagina dei risultati di ricerca personalizzata, definire l'insieme di ambiti visualizzati nell'elenco a discesa accanto alla casella di ricerca e determinare se l'elenco a discesa della ricerca viene visualizzato sulla pagina. Hai impostato tutto ...

Modelli di siti comuni in SharePoint 2016 - dummies

Modelli di siti comuni in SharePoint 2016 - dummies

Un modello di sito è ciò che si utilizza quando si crea un nuovo sito di SharePoint . Un modello di sito fornisce solo una configurazione iniziale per SharePoint. Ad esempio, se si sceglie un modello di sito team, il sito creato includerà componenti SharePoint progettati per un team. Cose come un'app Documenti, app Calendario, ...

Web part di SharePoint 2013 - dummies

Web part di SharePoint 2013 - dummies

Le web part sono componenti riutilizzabili che visualizzano il contenuto su pagine Web in SharePoint 2013. Web Le parti sono un componente fondamentale nella creazione di pagine di SharePoint. Numerose web part vengono fornite immediatamente con le diverse edizioni di SharePoint e puoi anche acquistare web part di terze parti. Nota: le web part che ...