Big Data Analytics con Python e Spark 2.4: il Corso Completo

Impara ad analizzare e processare i Big Data con Python e Spark ( PySpark )

4.50 (219 reviews)
Udemy
platform
Italiano
language
Data Science
category
instructor
1,317
students
12 hours
content
Nov 2020
last update
$19.99
regular price

What you will learn

Utilizzare Python e Spark per Analizzare i Big Data

Utilizzare MLlib per Creare Modelli di Machine Learning con i Big Data

Installare e Configurare PySpark su una Macchina Virtuale

Installare e Configurare PySpark con Amazon EC2

Creare un Cluster di Macchine per PySpark con Amazon EMR

Utilizzare gli Amazon Web Service (AWS) per l'Analisi di Big Data

Imparare ad Utilizzare DataBricks per l'Analisi di Big Data

Utilizzare l'RDD per Elaborare Dati in Parallelo

Utilizzare il DataFrame per Processare Dati in Maniera Efficiente

Utilizzare Spark Streaming per elaborare flussi di dati in Tempo Reale

Creare un Modello di Sentiment Analysis con il Dataset di Yelp (5 GB !)

Processare Tweets pubblicati su Twitter in Tempo Reale

Description

Impara a utilizzare le Ultime Tecnologie per l'Analisi dei Big Data con il linguaggio di Programmazione più popolare al mondo - Spark e Python !

Siamo entrati nell'era dei Big Data, oggi i dati sono il nuovo petrolio e sapere come elaborarli e analizzarli vuol dire avere un posto di lavoro garantito in un futuro molto prossimo e un vantaggio competitivo enorme rispetto ai rivali in affari.

In questo corso impareremo a lavorare con i Big Data utilizzando Spark, il framework per il calcolo distribuito più popolare al mondo, usato in produzione da giganti come Amazon, Microsoft, Oracle, Verizon e Cisco.


Cosa faremo durante il corso ?

Nella prima sezione del corso introdurre l'argomento Big Data, vedendo cosa sono, da dover arrivano e come possono essere sfruttati.

Vedremo quali sono le principali tecnologie utilizzate per i Big Data: Apache Hadoop, Hadoop MapReduce e Spark, chiarendone le differenze, i punti deboli e i punti di forza.

Nella seconda sezione vedremo come installare e configurare Spark su una macchina locale, prima usando VirtualBox per creare una macchina simulata sulla quale installare Ubuntu, poi creando una macchina remota sfruttando gli Amazon Web Service, nello specifico AWS EC2.

Nella terza sezione impareremo a creare un cluster di macchine con Spark e lo faremo in due modi differenti:

  • Usando AWS EMR (Elastic MapReduce)

  • Usando DataBricks, piattaforma per l'analisi dei Big Data co-fondata dallo stesso creatore di Spark.

Nella quarta sezione studieremo la principale struttura dati di Spark: il Resilient Distributed Dataset (RDD), introducendo la teoria del suo funzionamento per poi eseguire qualche esercizio pratico per studiarne le API.

Nella quinta sezione ci sporcheremo le mani con il primo laboratorio in cui analizzeremo un dataset contenente 22.5 milioni di recensioni di prodotti su Amazon.

Nella sesta sezione introdurremo una struttura dati a più alto livello che Spark mette a disposizione dalle sue versioni più recenti: il DataFrame, parleremo brevemente della suo funzionamento per poi vedere come può essere utilizzato nella pratica. Vedremo anche come creare una tabella SQL partendo da un DataFrame per poi interrogarla con query di selezione.

Nella settima sezione svolgeremo un secondo laboratorio, usando un DataFrame per analizzare ben 28 milioni di recensioni di film.

Nell'ottava sezione parleremo di serie storiche (time series) e analizzeremo le azioni di Apple dal 1980 ad oggi.

Nella nona sezione parleremo di Machine Learning, scoprendo come funziona e a cosa serve e studiando i due modelli di base rispettivamente per modelli di Regressione e Classificazione:

  • La Regressione Lineare

  • La Regressione Logistica

Al termine di questa sezione introdurremo il modulo MLlib (Machine Learning Library) di Spark, il quale ci permette di costruire modelli di Machine Learning distribuiti.

Nelle sezioni dieci e undici vedremo come utilizzare il modulo MLlib con le sue API per il Dataframe, per risolvere semplici problemi di regressione e classificazione, come:

  • Stimare il valore di abitazioni partendo dalle loro caratteristiche

  • Riconoscere un tumore al seno maligno da un'agobiopsia

Nella sezione dodici utilizzeremo le conoscenze acquisite sul Machine Learning e MLlib per costruire un modello di Sentiment Analysis utilizzando il dataset di Yelp, il quale contiene oltre 5 GB di recensioni di locali e attività commerciali. 

Per addestrare il modello di Machine Learning sull'intero dataset così grande utilizzeremo un cluster AWS EMR, imparando a configurare un cluster e a importare grandi quantità di dati nel Hadoop File System (HDFS) da un bucket S3 utilizzando l'utility s3-dist-cp.

Nella nona sezione introdurremo uno delle estensioni più hot di Spark: Spark Streaming, che ci permette di analizzare ed elaborare flussi di dati in tempo reale !

Nella decima sezione svolgeremo un progetto usando Spark Streaming e le API di Twitter: monitoreremo tutti i tweets pubblicati in tempo reale, relativi ad un determinato argomento selezionato da noi, e creeremo un grafico interattivo con gli hashtags più popolari !


Perché seguire questo corso ?

I Big Data sono il futuro, sapere come sfruttarli sarà un vantaggio enorme, sia per un professionista che per un imprenditore, non perdere questa occasione !

Content

Introduzione

Cosa sono i Big Data ?
I vantaggi dei Big Data
Le tecnologie per i Big Data: Hadoop MapReduce
Le tecnologie per i Big Data: Spark
Leggi questo prima di iniziare !

Installazione di Spark in locale con VirtualBox

Usare VirtualBox per Creare una Macchina Virtuale
Installare Ubuntu sulla Macchina Virtuale
Installare Pip e Jupyter Notebook
Installare Java e Scala
Installare Spark sulla Machina Virtuale

Installazione di Spark su AWS EC2

Creare una Macchina Virtuale con AWS EC2
Installare Spark sulla Machina Remota
Non dimenticare questo !

Creare un Cluster con AWS EMR

Creazione di un Cluster con AWS EMR (Elastic Map Reduce)

Utilizzare Spark con DataBricks

Utilizzare Spark con DataBricks
Importare i Notebook su DataBricks

Il Resilient Distributed Dataset (RDD)

Introduzione al RDD
Azioni del RDD
MapReduce sul RDD
Trasformazioni sul RDD
RDD con chiave e valore

(Laboratorio) Analisi di 22.5 Milioni di Recensioni su Amazon

Procuriamoci il Dataset
Contiamo il numero di valutazioni
Contiamo il numero di libri
Contiamo il numero di valutazioni per libro
Troviamo i 10 libri più valutati
Calcoliamo la valutazione media per ogni libro
Troviamo i 10 libri con la valutazione più alta
Troviamo i 10 recensori più critici

Il DataFrame

Introduzione al DataFrame
Creazione di un DataFrame
Modificare lo Schema di un DataFrame
Operare su Righe e Colonne
Filtri, Aggregazione e Ordinamento
Query SQL su un DataFrame
(Opzionale) Query SQL di Selezione

(Laboratorio) Analisi di 28 milioni di Recensioni di Film

Procuriamoci il Dataset MovieLens
Creiamo il DataFrame
Correggiamo lo Schema
Contiamo il numero di Recensioni Totali e la Media per Utente
Troviamo l'Utente che ha Scritto più Recensioni
Troviamo i 10 Film che hanno ricevuto più Recensioni
Troviamo i 10 Film con le Recensioni più Positive e più Negative
Troviamo le 10 Recensioni più Recenti
Troviamo i Film più Visti ogni Anno
Aggiungiamo Titolo e Genere alla lista dei Film più Visti

(Laboratorio) Time Series - Analisi delle Azioni di Apple

Procuriamoci il Valore Giornaliero delle Azioni di Apple dal 1980 a Oggi
Creiamo il DataFrame e Correggiamo lo Schema
Troviamo i Valori Massimi e Minimi
Troviamo i giorni in cui il Valore è stato inferiore ai 100 $
Troviamo il Valore Massimo per ogni Anno
Troviamo l'Anno con i Volumi Maggiori
Calcoliamo la Variazione delle Azioni dopo il rilascio dell'iPhone

Machine Learning con Spark MLlib

Cosa è il Machine Learning ?
I problemi del Machine Learning
La Regressione Lineare e Logistica
(Opzionale) L'algoritmo Gradient Descent
Introduzione a Spark MLlib
Altri modelli di Machine Learning

Kaggle e le sue API

Introduzione a Kaggle
Utilizzare le API di Kaggle
Scaricare un Dataset con le API
Scaricare il Dataset di una Competizione con le API

Machine Learning Supervisionato - Regressione

Procuriamoci il Dataset
Vettorizzazione delle Features
Applichiamo la Normalizzazione
Creare un modello di Regressione Lineare
Valutazione del Modello
Metriche: Mean Squared Error
Metriche: Root Mean Squared Error e Mean Absolute Error
Metriche: R2 - Coefficiente di Determinazione
Eseguire Predizioni con il Modello

Machine Learning Supervisionato - Classificazione

Procuriamoci il Dataset di Tumori al Seno
Creiamo il DataFrame
Vettorizzazione delle Features
Applichiamo la Standardizzazione
Codifichiamo il Target
Creare un Modello di Regressione Logistica
Metriche: L'Accuracy
Metriche: Precision e Recall
Testiamo il modello sulle nuove Agobiopsie

(Laboratorio) Sentiment Analysis sulle Recensioni di Yelp

Introduzione alla Sentiment Analysis
Procuriamoci il Dataset
Creiamo il DataFrame
Rimuoviamo la Punteggiatura
Eseguiamo la Tokenizzazione
Rimuoviamo le Stop Words
Creiamo un modello Bag of Words
Codifichiamo il Target
Il Problema dell'Overfitting
Applichiamo la Regolarizzazione
Il Problema delle Classi Sbilanciate
Bilanciamo il DataFrame e Creiamo il Modello
Carichiamo il Dataset su un Bucket S3
Creiamo il Cluster con EMR
Il Modello TF IDF
Cerchiamo delle Recensioni su TripAdvisor
Preprocessiamo le nuove Recensioni
Testiamo il modello sulle nuove Recensioni

Spark Streaming

Introduzione a Spark Streaming e al DStream
Esempio di Echo Streaming
Processare il DStream
Esempio di Monitor di Keywords
Creare uno Stato per il DStream
Salvare il DStream in una Tabella SQL Temporanea

(Laboratorio) Analisi in Tempo Reale dei Tweets pubblicati su Twitter

Leggi qui prima di iniziare !
Creiamo un Account Sviluppatore su Twitter
Creiamo la nostra Twitter App
Creiamo lo Stream dei Tweets
Creiamo una Data Source Custom con un Socket
Eseguiamo lo Stream dei Tweets con Spark
Estraiamo gli Hashtags dai Tweets
Creiamo un DataFrame con gli Hashtags più popolari
Salviamo i Tweets in una Tabella SQL Temporanea
Mostriamo gli Hashtags in un Grafico Dinamico
(Bonus) Mostriamo gli Hashtags in un Grafico Dinamico

Conclusione

Scegli il tuo percorso !

Prerequisiti: Programmazione con Python

Non sai (ancora) programmare ? Parti da qui
Eseguire codice Python
Input e output
Variabili e tipi di dati
Gestire le eccezioni
Formattazione
Liste e tuple
Set e frozenset
I dizionari
Il ciclo for
Ciclo while ed espressioni booleane
Istruzioni condizionali e operatori logici
Le funzioni
Classi e basi di programmazione ad oggetti
pip e il Python Package Index

Approfondimento: Guida a Jupyter Notebook

I comandi di base
Formattare il testo con Markdown
Inserire file multimediali
Scrivere formule scientifiche con LaTeX
Eseguire codice Python
Utilizzare comandi di sistema

Video Bonus

Il Modello Bag of Words
Il Modello TF IDF

Screenshots

Big Data Analytics con Python e Spark 2.4: il Corso Completo - Screenshot_01Big Data Analytics con Python e Spark 2.4: il Corso Completo - Screenshot_02Big Data Analytics con Python e Spark 2.4: il Corso Completo - Screenshot_03Big Data Analytics con Python e Spark 2.4: il Corso Completo - Screenshot_04

Reviews

Daniele
February 4, 2023
Bel corso, impostato bene. L'esposizione è chiara e tutt'altro che noiosa, pochi fronzoli ma esauriente (si arriva subito al dunque), ripetizioni quasi assenti, si danno per scontate solo le conoscenze di base (che comunque solo illustrate in sezioni a parte), lezioni brevi (permettono di "modularizzare" meglio l'apprendimento), risorse a disposizione per ogni sessione di programmazione. Qualche "blooper", ma gestito bene. Un "must have" per imparare a conoscere Spark.
Nicola
July 30, 2022
Ottimo corso. Spiegazioni chiare ed esaustive. Si ha proprio voglia di stare ad ascoltarlo. Bravo Giuseppe.
Giampiero
May 9, 2022
Un corso chiaro, immediato e che non trascura né la parte teorica né la parte pratica. In definitiva un ottimo corso, al pari di tutti gli altri offerti dal medesimo docente (ormai io li ho seguiti praticamente tutti e li consiglio tutti quanti). Complimenti.
Fabrizio
April 25, 2022
Assolutamente non adatto per chi come me vuole imparare ma impossibilitato ad andare avanti per mancate istruzioni aggiornate di installazione spark e jupyter su aws
Michele
March 5, 2022
Le spiegazioni sono molto esaustive. Unica pecca è che gli argomenti non sono stati aggiornati nel corso del tempo e molte cose sono cambiate. Io per esempio ho dovuto fare da autodidatta sulla configurazione di Ubuntu e Spark. Se non si ha dimestichezza con l'informatica questo può risultare molto frustrante.
Englantina
June 29, 2021
Vorrei iniziare un Master in Big Data e tramite il corso sto creando un box di informazioni che sicuramente mi saranno molto utili
Manzocchi
March 5, 2021
Ho conosciuto un mondo che non conoscevo. Alcune cose le dovrò rivedere con calma ma il corso è molto bello.
Yamepi
November 22, 2020
si. bel ripasso iniziale. ho avuto modo di apprendere nuove cose e il corso è stato abbastanza divertente.
Giovanni
September 25, 2020
buono, ma se posso permettermi un consiglio: integrare o creare un nuovo corso, con una parte puramente teorica/matematica dell'argomento. Magari esiste già, in tal caso vi prego di indicarmelo. Grazie Giovanni
Alessandro
June 16, 2020
MOLTO BELLO... MI STA DANDO UNA INFARINATURA SU MOLTI ARGOMENTI... E APPREZZO MOLTO I CASI PRATICI.... (da ricordarli anche con altri programmi e non solo per python
Rodrigo
April 13, 2020
Ottimo corso, chiaro e mai noioso, l'istruttore riesce a mantenere sempre alta l'attenzione con esercizi pratici e interessanti.
Roberto
April 13, 2020
Corso pratico ricco di esercizi e laboratori, ma con anche la giusta dose di teoria spiegata in maniera davvero semplice. Ottimo il materiale di supporto. Totalmente soddisfatto.
Daniele
April 12, 2020
Fino ad ora sono profondamente deluso. Ho passato ore a installare software senza che mi venisse spiegato perché sto facendo queste cose, nessuna introduzione al lavoro che stiamo andando a fare. Oltretutto nel modulo 3 mi si chiede di installare software a pagamento. In ultimo si dice che questo corso non richiede pre-requisiti ma non direi proprio che essere completamente digiuni di programmazione come me sia un buon modo per affrontare il corso. Speriamo migliori nelle prossime sezioni.
Flavio
July 29, 2019
Parte introduttiva perfetta, teoria chiara e facilmente comprensibile anche grazie alla parte visiva. Le sezioni di coding sono anche chiare e il codice viene commentato dal docente riga per riga. Finora mi reputo soddisfatto dell'acquisto, aspetto di vedere il proseguo
Marco
July 28, 2019
Premetto che non ho mai lavorato con i Big Data e prima di questo corso non conoscevo Spark, ma ho qualche nozione di programmazione con Python. Il corso è estremamente chiaro e le parti di programmazione mi hanno permesso di apprendere rapidamente il funzionamento di Spark e le principali tecniche di analisi dei big data. Fantastici i laboratori, specialmente quello sull'analisi dei Tweets pubblicati su Twitter in tempo reale. Assolutamente consigliato !

Charts

Price

Big Data Analytics con Python e Spark 2.4: il Corso Completo - Price chart

Rating

Big Data Analytics con Python e Spark 2.4: il Corso Completo - Ratings chart

Enrollment distribution

Big Data Analytics con Python e Spark 2.4: il Corso Completo - Distribution chart

Related Topics

2441608
udemy ID
7/3/2019
course created date
10/31/2019
course indexed date
Bot
course submited by