Gitbaritalian
developer
podcast
18

Sviluppo Big Data - Programmazione su Spark e Hadoop

Serie 1
Episodio 18
Durata 23 minuti

In questo episodio andiamo ad esplorare alcuni dei tool del mondo dei bigdata. Parliamo di hadoop e di Apache Spark, parliamo di processi di elaborazione programmabili in scala python java... Parliamo di Resilient Distributed Dataset e di come Spark ottimizza le operazioni di elaborazioni dei dati. E confronteremo Spark con Hadoop.

Links

Corso di bigdata:

https://www.udemy.com/course/the-ultimate-hands-on-hadoop-tame-your-big-data/

Il glossario di Databriks:

https://databricks.com/glossary/data-lake

Il WorkBook di databriks:

https://databricks.com/try-databricks

Contatti

@brainrepo su twitter o via mail a info@gitbar.it

Crediti

Le sigle sono state prodotte da MondoComputazionale Registrato negli studi di Radio Nuoro Centrale Le musiche da Blan Kytt - RSPN e Broke For Free - Something Elated

Trascrizione

Trascrizione automatica realizzata con servizi Amazon AWS Transcribe

benvenuti su bar di podcast dedicato al mondo dei fools developer.
Mezzo artigiani mezzo artistiche ogni giorno infilavano le mani nel fango per creare nel modo più efficiente possibile quei prodotti digitali che quotidianamente usiamo.
Bene.
Benvenuti su Barry.
Io sono il repo, eh! Ci prendiamo un po' di tempo per continuare a vedere quello che abbiamo lasciato in sospeso la scorsa settimana.
La scorsa settimana infatti, ho iniziato a parlarvi di Big, quindi abbiamo visto che cosa sono e l'hai data a lei che cos'è il data warehouse con invalidata mart che cos'è soprattutto l'operazione di itl extract trasforma in cloud che sono gli elementi, diciamo base, gli elementi fondamentali per entrare e iniziare ad avvicinarsi nel mondo dei vivi.
Detta infatti la scorsa settimana diciamo che abbiamo aperto la finestra e ci siamo affacciati nel balcone dei Big Z B che diventano un elemento sempre più importante nella vita di full stack developer perché vuoi o non vuoi, le applicazioni che noi comunque quotidianamente realizziamo, producono dei dati, producono dei dati che se l'applicazione si sviluppa e prende una certa dimensione, entrano spesso dell' ordine dei big di te.
Quando si tratta materiale di questa entità di questa di questa mole bisogna essere pronti, utilizzare strumenti adatti per risolvere il problema.
Infatti non sempre si può mettere i chiodi con una chiave inglese oppure stringere i bulloni col martello.
Quindi non sempre il javascript della situazione sono gli strumenti perfetti per risolvere il problema, magari dalla gestione di una quantità di dati considerevole.
In quel caso, beh, centrano in aiuto una serie di strumenti da adu più a spark o una serie di file system come filesystem come esce di fs che semplificano alcune operazioni nel trattare delle moli di dati così importanti in scadenze temporali molto stringenti che rendono veramente impossibile il trattamento di questi dati con i normali.
Prima di riprendere però il discorso lasciate in sospeso giovedì scorso, beh, vi ricordo i nostri contatti potete entrare in contato con me direttamente su twitter, mandando un messaggio a beth breen repo oppure via email a in bar punto hoyt oppure visitando il nostro sito www punto eat.
Inoltre vi suggerisco di iscrivervi col vostro client di podcast direttamente appunto nel podcast di per ricevere ogni settimana gli aggiornamenti sulle nuove puntate che andremo poi a pubblicare quando si parla di Big d te e poi si va a vedere quali sono gli strumenti che permettono questa elaborazione parallela.
Beh, non si può non incappare in a dopo il grande elefante, che in realtà permette l'elaborazione di queste grandi masse di dati e lo fa mettendo a disposizione tre elementi principali.
La prima è ma radius, che ci permette di creare avviare delle amputazioni su questi dati odio distribuito.
Il secondo è un filesystem distribuito quindi un sistema che in qualche modo distribuisca i dati sulla serie di nodi per poi applicare il calcolo e' il terzo questo file system si chiama e i cd fs e il terzo la, che in qualche modo è un direttore d'orchestra che pianifica e distribuisce i task nelle varie macchine, è in qualche modo gestisce il cluster.
Bella potenza di lupo è quella appunto di frammentare i dati e dividerlo in modo resiliente sui vari nodi e all'interno del nodo.
Applicare questa capacità computazionale.
Questi algoritmi di trasformazione, appunto di mapping news sui dati che risiedono su questo noto, rendendo possibili, come dicevo prima, le trasformazioni di grandi moli di dati fra instability a dopo nel tempo poi ha manifestato una serie di limiti limiti che sono in qualche modo stati colmati e risulti dalla di Spark.
Intanto le funzioni di Marta e di più se non erano le uniche funzioni utili per la trasformazione dei dati, se vivono anche tutta un'altra serie di turpe phil terra o l'unione in tra due sorgenti diversi, quindi tutta una serie di esigenze, hanno portato poi un della Berkeley University nel duemila nove, a realizzare Spark Spark, che era costruito appunto avendo come concetto principale e quello del calcolo distribuito, ma del calcolo distribuito fatti in modo efficiente.
Il progetto è stato sviluppato appunto da MP all'interno della Sparky University nella Barney University e che poi è andato a confluire a confluire sotto della pace Foundation che cos'è Sparky sparky e unioni fai di computer in giallo.
Cosa vuol dire Io fai? In realtà è la parola sta a indicare che Mm Spark unisce da una parte una platform per trattare i dall'altra, una serie di libri e per poterlo fare, e delle Pyper linguaggi differenti, per esempio scala Brighton r o se quelle che interagiscono attraverso queste librerie, queste pan col computer.
Eh già, in che si occupa appunto di andare a elaborare i dati.
A differenza di Ahdu, però è park nasce con un concetto alla base, quello che in realtà i dati possono essere attinti da sorgenti diverse a dopo.
Presupponeva che all'interno di ogni nodo ci dovesse essere appunto uno spazio fisico per archiviare quei dati che poi dovevano essere elaborati su quel nodo specifico.
Bene, con il decremento sempre maggiore dei prezzi dell'archiviazione online dei grandi cloud provider è nata appunto di trovare altre destinazioni di dati.
Questo apportato Spark ad adottare appunto un sistema multi.
Questo vuol dire che i dati che poi devono essere elaborati dal computer, un jain di Spark, possono risiedere per esempio il suo settore Amazon ad suicidi fx, Cassandra, Kafka con diverse sorgenti.
Queste diverse sorgenti possono essere utilizzate per computazione Becciu, quindi fatte io una mole di dati avvia una computazione oppure per computazione in streaming di eventi, come per esempio su Kafka che è appunto un famoso sistema di gestione delle code.
Naturalmente lavorare con queste persistenza claud in qualche modo a abbattere i costi di infrastruttura.
Prima infatti bisognava tirare su dei nodi che avevano dei costi sostenuti.
Adesso invece tiriamo su solo tanti nodi quanti necessari per la computazione è invece ci teniamo lo storico che ha dei prezzi comunque molto più bassi.
Questo perché, come vi dicevo prima, la legge di murphy per quanto riguarda la computazione, ferma dal duemila cinque, ma per quanto riguarda lo storico più si va avanti, più i costi dello store scendono e le dimensioni salgono.
Quindi in qualche modo la una delle rivoluzioni in disparte è quella che svincola appunto il motore di calcolo dal motore di store.
Naturalmente spark che cos'è bene spark è un computer, quindi un sistema di calcolo di elaborazione è anche, come vi dicevo, una serie di librerie di tulle tulle che permettono l'elaborazione dei dati in streaming o invece permettono funzioni come il mascelle sui dati che entrano permettono l'elaborazione di dati e di tipografia.
Quindi vi dati a grafo, cosa che per esempio ha dubbi non permetteva è l'interazione attraverso le istruzioni.
E se quelle belle senza dubbio una grande grande rivoluzione.
Ma come formato come quale l'architettura di spark? Bene, in realtà i due elementi sono un nodo worker, un più uno di walker e'.
Una cosa fa il nodo il nuovo permette la creazione del contesto e connette a sé tutte le no di walker.
Quindi le risorse computazionali che poi saranno quelle che si sporcano le mani e andranno a fare appunto tutte le operazioni di trasformazione di filtro e quindi andranno a portare un dato grezzo, e' inondato, pulito eri finito.
Per cui da una parte ciò un colui che gestisce e dirige l'orchestra appunto di minuti.
E poi ho un nodo naturalmente spark e può girare su un cluster.
Quello che hai appena raccontato è appunto spark che gira su un cluster di nodi, ma nulla ci vieta di far girare anche sparky con un unico nodo worker all'interno della nostra macchina.
Quindi è vero che il sistema di calcolo distribuito, ma puo' tranquillamente eseguire delle operazioni di trasformazione anche su una macchina quando noi eseguiamo delle trasformazioni di dati con sporca andiamo operare utilizzando un concetto che si chiama distribuito ed dataset, ovvero un insieme di dati che noi percepiamo come un unico gruppo di dati un'unica collezione i dati, ma che in realtà vengono distribuite su il cluster dei nodi e quindi quando io andrò a eseguire una serie di azioni, queste azioni verranno ripartite nei nudi di competenza, quindi per micro segmenti di dati naturalmente esistono tutta una serie di altre astrazioni al livello superiore come i dati prima i dataset qua però qui si scende molto nel tecnico e si esce un po' fuori dallo scopo di questa puntata, che è quella di introdurre l'argomento.
Comunque il concetto che è senza dubbio innovativo è rivoluzionario rispetto a dudù è che in realtà spark affronta l'elaborazione dei dati in modo intelligente.
Perché? Cosa fare io sui dati devo eseguire una serie di azioni? No.
Quindi, che ne so, sistemare le colonne, filtrare per eliminare una serie di dati in funzione di alcune valutazioni e via discorrendo? Bene per farlo prima di applicare qualunque tipo di azione, spark genera un doug direct graff, cioè un grafo che non contiene che al suo interno è direzionato, che cos'è.
Questo graffio non è altro che un grafo di azioni che devo fare sui dati.
E quindi cosa fa una volta che si prende in carico questo graffio di azioni lo ottimizza adesso? Se avessi la possibilità di disegnare il il comportamento sul graffa ciclico capiresti al volo ci provo con le parole.
Non è semplicissimo.
Però immaginate di essere un capo cantiere all'interno di un cantiere, per esempio, per fare la facciata di un palazzo ci sono tutta una serie di cose da fare, alcune delle quali possono avvenire in parallelo, ma che poi devono essere seguite da delle azioni specifiche che in realtà non possono avvenire in parallelo, ma partono dopo che le azioni precedente sono terminate edili, magari dopo quella accettazione.
Partono poi altre azioni in parallelo.
Faccio un esempio e immaginate di dover fare la facciata di un palazzo bene per fare la facciata di un palazzo, per esempio, potete mettere il primo operaio a raschiare i calci al piano terra, mentre operaio inizia o gli altri due operai iniziano a montare il ponteggio una volta che il punteggio è montato.
Questi due, questi questi operai che avevano dei ruoli diversi, salgono sul punteggio, iniziano a raschiare i calcinacci di tutto la parte alta.
Bene la gestione de ii tuo operaio numero uno inizia la schiera dei calcinacci è invece altri due operai ben iniziate a montare.
Il punteggio viene fatta appunto, a partire da questo gran folla ciclico che non è altro che la lista di tasca da fare per individuare quali tasche possono essere pari a e quali tasche invece devono aspettare, quali altri per poter partire bene spark e sotto il cofano fa questo tipo di elaborazione e ottimizza questa serie di tasca e quindi divide le operazioni in stage in gruppi di azioni da fare.
Questi stag li divide in tasca, crea dei gerhardt che poi manda distribuisce a tutti gli ex quindi i nodi che si occupano poi di fare il lavoro sporco e di fare la trasformazione dei dati.
E questo rende spark veramente performante, perché in realtà ottimizzando il processo di elaborazione di trasformazione in modo così preciso, in modo così puntuale evita, elimina, riduce al massimo i tempi morti e quindi riesce a raggiungere gli obiettivi nel minor tempo possibile.
Questo infatti permette a Sparky di operare anche in realtà imma.
Quindi, prendendo dei flussi di dati continui, per esempio da una coda come kafka.
In realtà sotto il cofano spark li trasforma in delle micro bacero', quindi piccoli gruppi, porzioni di dati, esegue le operazioni, poi ne prende dei successivi.
Naturalmente adesso qua mi viene da immaginare non rocchi, che è pronto per fare il suo il suo combattimento dentro, minando questa lo e' davvero degli Stati Uniti.
Rocky balboa ha avuto quindi l'unione sovietica per incontrare i walter.
Quando iniziamo a parlare della differenza tra spark e ad un lupo è perché in qualche modo spark ha soppiantato a dubuque, quantomeno nella parte di mappa, quindi di trasformazione dei dati.
Beh, è ovvio e' molto semplice.
Intanto l'operazione di mappare news in loop si riduce a due azioni specifiche la mappa e la remedios.
Quindi mappa il dato da una struttura a un'altra e riduce il dato lo trasforma invece spark permette l'operazione ha molti step cosa fa? Ma odiosa fa una trasformazione e va a salvare in memoria sul disco il l'elemento trasformato.
Se devo fare piu' trasformazioni sul dato faccia una trasformazione viene salvata sul disco.
Mi ricarico dal disco il dato faccio la seconda trasformazione viene riservata sul disco e via dicendo.
Invece spark, avendo appunto un sistema di creazione di un doug, avendo tutta la realizzazione dei tasche, riesce a creare dei flow di elaborazione? Beh, senza dubbio in modo più efficiente, anche più elegante perché è una che utilizza appunto i costrutti della programmazione funzionale e accessibile anche con r non mangiava o scala che rendono tutto da una parte abbastanza trasparente per lo sviluppatore dall'altra in modo efficiente perché sotto il cofano ci hanno un super motore che poi ottimizza tutto un altro limite da dopo, come vi dicevo prima, è che ha solo la funzione di mappe di uso.
Quindi mancano istruzioni come la tra due sorgenti diversi o i filtri, così come manca il supporto ai dati ha formato grafo l'ultimo limite e' qua mi fermo e che in realtà, ma per elabora solo dei dati in modalità batch.
Quindi un gruppo di dati archiviati belli elaborarli di salvo invece Spark che permette appunto l'elaborazione dello stream comma l'elaborazione il salvataggio l'elaborazione il salvataggio presuppongono comunque anche un'elevata latenza di start-up.
Quindi per avviare ogni computazione, cioè passa comunque un certo tempo perche' vi ho voluto parlare di Big Z ha voluto parlare di big perché in realtà da full stack developer non possiamo far finta che non esista questo ecosistema e che nel momento in cui andiamo a realizzare progetti medio-grandi oppure delle con un minimo di ambizione di crescita e un mondo che in un modo o nell'altro dovremmo andare incrociare nella nostra strada, quindi prima meglio è tra l'altro è un argomento che mi affascina, vuoi perché in casa una persona che me ne parla tutti i giorni mia moglie si occupa di questo vive vive di questo vuoi perché comunque i dati sono un elemento centrale della nostra vita tecnologica.
Se capiamo le infrastrutture che ci sono sotto a certi processi di elaborazione, in probabilmente capiamo anche alcuni comportamenti utili nella raccolta delle informazioni, fase che in qualche modo ci coinvolge come attore di primo piano proprio perché siamo coloro che sviluppo fanno le applicazioni che comunque producono questi dati.
Detto questo, spero di non aver detto nessuna inesattezza, non essendo il mio argomento principe largo dove sono più preparato e spero di non aver detto nessuna fesseria, anche perché qui è in gioco il mio matrimonio.
Il maresciallo chiamato moglie sentirà la puntata e mi correggerà se ho detto qualche cosa che non non fitta con quello che in realtà il suo insegnamento.
Ecco, detto questo vi dico solo che potete fare qualche esperimento su big data, trovando all'interno della piattaforma messa a disposizione da data breaks data bricks, che è una società molto famosa nel mondo di big data e anche la società fondata e gestita dagli inventori di spark, società che mette a disposizione dei tool come un nuovo buco dove potete iniziare a lanciare il primo vostro nodo.
Spark è a eseguire all'interno di questo nodo semplici operazioni bene.
Detto questo, nelle note dell'episodio vi lascio tutti i link per approfondire e anche per provare data breaks per fare qualche esperimento e vi suggerisco sempre all'interno delle note dell'episodio un interessantissimo corso sugli ultimi spero e voglio organizzarmi per portare all'interno del podcast a un esperto di liquidità in modo da fargli le domande che poi voi spero mi in modo da avere un'informazione un pochino più puntuale con dei termini tecnici e non incasinata.
Come posso averla fatta? Prima di salutarci? Mi interessava ricordarvi i nostri contatti.
Potete scrivermi a info bar punto Hoyt oppure venirmi a trovare nel sito www o mandarmi un messaggio privato su Twitter a Heat Brian.
Noi ci sentiamo la prossima settimana e mi raccomando se avete avuto modo di ascoltare questo episodio e vi è piaciuto, apritelo col vostro di casta e iscrivetevi.
Se proprio proprio vi è piaciuto tanto bene potete entrare sul suo i toons e lasciare una recensione.
Detto questo, anche per oggi e' tutto un grande saluto.
Ci sentiamo la prossima settimana il circolo dei fusti da bere una volta a settimana ci troviamo davanti a due birre e comprerebbe.
Parliamo di linguaggi e tecniche di sviluppo web, di metodologie e degli strumenti immancabili nella cassetta degli attrezzi dei Foster.
Ho bisogno di una mano. Aiutami a rendere più conosciuto il nostro podcast. Parlane con gli amici o con i colleghi e iscriviti usando Apple Podast o Google Podcast. Questa tua azione ci aiuterà a salire nella classifica dei podcast di tecnologia ed essere utili anche a qualcun’altro. Se non ti va, amici come prima😄