Creazione di Dashboard Informativi con Spark e Tableau Desktop
'Creating Informative Dashboards with Spark and Tableau Desktop'
Automazione della visualizzazione dei dati su larga scala con lo strumento Tableau Desktop

1. Introduzione
Come rappresentazione visiva dei dati, la visualizzazione dei dati è un metodo ampiamente adottato nell’analisi dei dati per ottenere utili informazioni aziendali (ad esempio, tendenze, modelli, valori anomali, correlazioni, ecc.) da grandi set di dati. Recentemente, ho presentato un metodo di sviluppo software per utilizzare Spark, Plotly e Dash per sviluppare dashboard interattive e informative per le applicazioni Web in Python [1].
Similmente a [1], questo documento utilizza lo stesso set di dati open source utilizzato in [2] per mostrare come utilizzare Spark e Tableau Desktop [3] per creare dashboard informative da grandi set di dati in un data lake Cloud senza programmazione.

La Figura 1 mostra una panoramica generale del flusso di lavoro. È composto dai seguenti passaggi principali:
- connessione di Tableau Desktop per la creazione di dashboard a Spark
- interrogazione del set di dati dal data lake Cloud
- creazione di grafici di visualizzazione dei dati dal set di dati caricato
- creazione di dashboard dai singoli grafici creati
- pubblicazione delle dashboard sul server Tableau per la condivisione
2. Connessione di Tableau Desktop a Spark
Come descritto in [4], è possibile seguire i seguenti passaggi per utilizzare Spark SQL come motore di query distribuito utilizzando JDBC/ODBC [5] e connettere Tableau Desktop al motore di Spark SQL distribuito [4]:
- Visualizzare la vera estensione della Maledizione della Dimensionalità
- Gamificare l’etichettatura dei dati medici per far avanzare l’IA
- Un modo molto sottovalutato per costruire capitale di carriera in Data Science
- installare Hadoop
- configurare Hive
- configurare MySQL
- configurare Spark
- configurare Tableau Desktop
3. Interrogazione del set di dati dal data lake Cloud
Una volta che Tableau Desktop è stato connesso con successo al motore di Spark SQL distribuito, dovremmo essere in grado di navigare allo schema predefinito e vedere le tabelle del cluster Hive Hadoop [4].
Dal punto di vista della creazione di dashboard con Tableau Desktop, non vi è alcuna differenza tra una tabella caricata da un cluster Hive Hadoop e una tabella caricata da un file Excel locale di Microsoft. Per comodità, verrà utilizzata la versione gratuita di Tableau Desktop Public con un file Excel locale convertito dal file csv del set di dati in [2] a scopo dimostrativo in questo documento.
4. Creazione di grafici di visualizzazione dei dati
È necessario creare prima grafici di visualizzazione individuali prima di poter creare dashboard di visualizzazione.
Possiamo utilizzare Tableau Desktop per creare molti tipi diversi di grafici. Come descritto in [1], alcuni dei grafici sono adatti per visualizzare caratteristiche numeriche continue, mentre altri sono adatti per visualizzare caratteristiche categoriche discrete.
Similmente a [1], questo documento utilizza Tableau Desktop per creare i seguenti diagrammi comuni a scopo dimostrativo.
- Grafici per caratteristiche numeriche: scatter plot, istogramma e grafico a linee
- Grafici per caratteristiche categoriche: grafico a barre, grafico a linee e grafico a torta
4.1 Grafici per caratteristiche numeriche
Tableau Desktop utilizza il simbolo # per indicare le caratteristiche numeriche. Questa sottosezione mostra come utilizzare Tableau Desktop per creare i seguenti tre grafici comuni per le caratteristiche numeriche:
- scatter plot
- istogramma
- grafico a linee
4.1.1 Scatter Plot
Per una coppia di caratteristiche numeriche, lo scatter plot utilizza ogni coppia di valori delle caratteristiche come coordinate per disegnare un punto su un piano 2D. Come esempio, come in [1], la Figura 2 mostra uno scatter plot delle due caratteristiche numeriche ID Paziente e Deposito di Ammissione per persone dai 21 ai 30 anni. La caratteristica Tipo di Ammissione viene utilizzata per la codifica dei colori.
Per creare il grafico a dispersione, è possibile seguire i seguenti passaggi:
- trascinare la caratteristica Patientid e rilasciarla nella sezione Colonne
- trascinare la caratteristica Admission Deposit e rilasciarla nella sezione Righe
- trascinare la caratteristica Type of Admission e rilasciarla nella proprietà Colore della scheda Segni
- cliccare sul menu a tendina della scheda Segni e selezionare Cerchio
- fare clic con il pulsante destro del mouse sulla caratteristica Age, scegliere Mostra filtro e selezionare solo 21-30

Questo grafico a dispersione rivela l’informazione aziendale che la maggior parte dei pazienti di emergenza e traumatizzati tra i 21 e i 30 anni aveva un deposito nell’intervallo di $3.000-$6.000.
4.1.2 Istogramma
Tableau Desktop considera un istogramma come un grafico a barre. Per questo motivo, la caratteristica numerica per le colonne deve essere convertita in categorica tramite binning, mentre la caratteristica numerica per le righe deve essere aggregata, ad esempio tramite somma.
Per creare l’istogramma nella Figura 3, è possibile seguire i seguenti passaggi:
- fare clic con il pulsante destro del mouse sulla caratteristica numerica Patientid e selezionare “crea intervalli” per creare una nuova caratteristica Patientid (bin)
- trascinare la nuova caratteristica Patientid (bin) e rilasciarla nella sezione Colonne
- trascinare la caratteristica numerica Admission Deposit e rilasciarla nella sezione Righe, quindi fare clic sulla caratteristica rilasciata e selezionare l’aggregazione SUM
- trascinare la caratteristica categorica Type of Admission e rilasciarla nella proprietà Colore della scheda Segni
- cliccare sul menu a tendina della scheda Segni e selezionare Barra
- fare clic con il pulsante destro del mouse sulla caratteristica Age, scegliere Mostra filtro e selezionare solo 21-30

Questo istogramma mostra l’informazione aziendale che i pazienti urgenti tra i 21 e i 30 anni avevano la quantità totale più bassa di deposito di ammissione, mentre i pazienti di emergenza avevano la quantità totale più alta di deposito di ammissione.
4.1.3 Grafico a Linee
Similmente alla creazione del grafico a dispersione, è possibile seguire i seguenti passaggi per creare il grafico a linee nella Figura 4:
- trascinare la caratteristica Patientid e rilasciarla nella sezione Colonne
- trascinare la caratteristica Admission Deposit e rilasciarla nella sezione Righe
- trascinare la caratteristica Type of Admission e rilasciarla nella proprietà Colore della scheda Segni
- cliccare sul menu a tendina della scheda Segni e selezionare Linea
- fare clic con il pulsante destro del mouse sulla caratteristica Age, scegliere Mostra filtro e selezionare solo 21-30

Similmente al grafico a dispersione, questo grafico a linee mostra la stessa informazione aziendale che la maggior parte dei pazienti di emergenza e traumatizzati tra i 21 e i 30 anni aveva un deposito nell’intervallo di $3.000-$6.000.
4.2 Grafici per Caratteristiche Categoriche
Tableau Desktop utilizza il simbolo Abc per indicare le caratteristiche categoriche. Questa sezione mostra come utilizzare Tableau Desktop per creare i seguenti tre grafici comuni per il conteggio dei valori delle caratteristiche categoriche:
- grafico a barre
- grafico a linee
- grafico a torta
4.2.1 Grafico a Barre
Come esempio, è possibile seguire i seguenti passaggi per creare il grafico a barre nella Figura 5 per il conteggio dei valori della caratteristica categorica Stay:
- trascina la funzionalità “Stay” e rilasciala nella sezione “Colonne”
- trascina la stessa funzionalità “Stay” e rilasciala nella sezione “Righe”, quindi clicca sulla funzionalità rilasciata e seleziona l’aggregazione “Conteggio”
- clicca sul menu a discesa sulla “Marks Card” e seleziona “Barra”
- fai clic con il pulsante destro del mouse sulla funzionalità “Età”, scegli “Mostra filtro” e seleziona solo “21-30”
- Fai clic sulla proprietà “Colore” della “Marks Card” e seleziona un colore viola

Questo grafico a barre mostra l’informazione aziendale che per i pazienti tra i 21 e i 30 anni, più pazienti sono rimasti in ospedale per 21-30 giorni rispetto agli altri intervalli di degenza.
4.2.2 Grafico a Linee
Come il grafico a barre, i seguenti passaggi possono essere seguiti per creare il grafico a linee nella Figura 6 per il conteggio dei valori della caratteristica categorica “Stay”:
- trascina la funzionalità “Stay” e rilasciala nella sezione “Colonne”
- trascina la stessa funzionalità “Stay” e rilasciala nella sezione “Righe”, quindi clicca sulla funzionalità rilasciata e seleziona l’aggregazione “Conteggio”
- clicca sul menu a discesa sulla “Marks Card” e seleziona “Linea”
- fai clic con il pulsante destro del mouse sulla funzionalità “Età”, scegli “Mostra filtro” e seleziona solo “21-30”
- Fai clic sulla proprietà “Colore” della “Marks Card” e seleziona un colore viola

Come il grafico a barre, questo grafico a linee rivela la stessa informazione aziendale che per i pazienti tra i 21 e i 30 anni, più pazienti sono rimasti in ospedale per 21-30 giorni rispetto agli altri intervalli di degenza.
4.2.3 Grafico a Torta
La creazione del grafico a torta non è così immediata come la creazione dei grafici a linee e a barre.
Puoi seguire i seguenti passaggi per creare il grafico a torta nella Figura 8 per il conteggio dei valori della caratteristica categorica “Stay”:
- trascina la funzionalità “Stay” e rilasciala nella sezione “Colonne”
- trascina la stessa funzionalità “Stay” e rilasciala nella sezione “Righe”, quindi clicca sulla funzionalità rilasciata e seleziona l’aggregazione “Conteggio”
- fai clic con il pulsante destro del mouse sulla funzionalità “Età”, scegli “Mostra filtro” e seleziona solo “21-30”
- fai clic su “Mostrami” nell’angolo in alto a destra del foglio grafico e seleziona l’icona a torta. Un piccolo grafico a torta comparirà come mostrato nella Figura 7.
- aumenta la dimensione del grafico a torta selezionando la proprietà “Dimensione” della “Marks Card” e quindi selezionando e trascinando il riquadro del grafico a torta
- trascina la funzionalità di aggregazione “CNT(Stay)” e rilasciala sulla proprietà “Etichetta” della “Marks Card”

La Figura 8 mostra il grafico a torta finale dopo aver seguito i passaggi precedenti.

Come il grafico a barre e il grafico a linee, questo grafico a torta conferma la stessa informazione aziendale che per i pazienti tra i 21 e i 30 anni, più pazienti (2.197 in totale) sono rimasti in ospedale per 21-30 giorni rispetto agli altri intervalli di degenza.
5. Creazione di Dashboard
Una volta creati i grafici individuali, possiamo selezionare e combinare i singoli grafici in un cruscotto.
5.1 Cruscotto per la Visualizzazione di Coppie di Caratteristiche Numeriche
È possibile seguire la seguente procedura per creare un cruscotto per la visualizzazione delle coppie di caratteristiche numeriche Patientid e Admission Deposit.
Passaggio 1: selezionare il menu Cruscotto e quindi selezionare Nuovo Cruscotto
Passaggio 2: trascinare uno per uno i seguenti fogli di grafici creati e rilasciarli nel nuovo foglio del cruscotto:
- Grafico a dispersione di esempio di Coppie di Caratteristiche Numeriche
- Istogramma di esempio di Coppie di Caratteristiche Numeriche
- Grafico a linea di esempio di Coppia di Caratteristiche Numerica
La Figura 9 mostra il nuovo cruscotto creato.

5.2 Cruscotto per la Visualizzazione del Numero di Valori Categorici
È possibile seguire la seguente procedura per creare un cruscotto per la visualizzazione del numero di valori della caratteristica categorica Stay.
Passaggio 1: selezionare il menu Cruscotto e quindi selezionare Nuovo Cruscotto
Passaggio 2: trascinare uno per uno i seguenti fogli di grafici creati e rilasciarli nel nuovo foglio del cruscotto:
- categorical_feature_bar
- categorical_feature_line
- categorical_feature_pie
La Figura 10 mostra il nuovo cruscotto creato.

6. Pubblicazione dei Cruscotti
Una volta creato un cruscotto, è possibile pubblicarlo su Tableau Server per la condivisione.
Ci sono tre tipi di server:
- Tableau Public
- Tableau Server
- Tableau Cloud
I cruscotti creati in questo articolo possono essere pubblicati solo su Tableau Public perché è stato utilizzato Tableau Desktop Public gratuito per crearli.
È possibile seguire i passaggi di pubblicazione in [6] per pubblicare i cruscotti con i relativi set di dati sul server Tableau Public per la visualizzazione pubblica.
7. Conclusioni
Tableau è una piattaforma di analisi dati visiva a più livelli con un’architettura complicata. Questo articolo presenta un metodo per integrare Spark con Tableau per interrogare i dati da un data lake di grandi dimensioni (ad esempio, Hadoop Hive) in Cloud e successivamente illustra come utilizzare Tableau Desktop per creare cruscotti illuminanti dai set di dati caricati senza programmazione.
Come strumento per la creazione e la condivisione di cruscotti, Tableau Desktop supporta molti modi diversi per creare grafici di visualizzazione. Può essere confuso capire da dove iniziare e come creare grafici di visualizzazione e cruscotti illuminanti. Questo articolo può aiutare a imparare rapidamente Tableau Desktop concentrandosi solo su due semplici scenari di visualizzazione: uno per la visualizzazione di una coppia di caratteristiche numeriche e l’altro per la visualizzazione del numero di valori di una caratteristica categorica.
Riferimenti
[1] Yu Huang, Sviluppo di Cruscotti Interattivi e Illuminanti con Spark e Plotly Dash
[2] Yu Huang, Previsione del Tempo di Ospedalizzazione dei Pazienti Covid-19
[3] Tutorial: Iniziare con Tableau Desktop
[4] Guida alla Configurazione di Tableau con Apache Spark
[5] Motore SQL Distribuito
[6] Condividi le tue scoperte