Come iniziare con Databricks

Quando ho iniziato a imparare Spark con Pyspark, mi sono imbattuto nella piattaforma Databricks e l'ho esplorata. Questa piattaforma ha semplificato la configurazione di un ambiente per eseguire dataframe Spark e fare pratica con la codifica. Questo post contiene alcuni passaggi che possono aiutarti a iniziare con Databricks.

Databricks è una piattaforma che funziona su Apache Spark. Ha convenientemente una configurazione dei sistemi Notebook. È possibile eseguire facilmente il provisioning dei cluster nel cloud e incorpora anche un'area di lavoro integrata per l'esplorazione e la visualizzazione.

Puoi anche programmare qualsiasi notebook esistente o codice Spark sviluppato localmente per passare dal prototipo alla produzione senza reingegnerizzazione.

1. Imposta un account Databricks

Per iniziare con il tutorial, vai a questo link e seleziona la Community Edition gratuita per aprire il tuo account. Questa opzione ha un singolo cluster con fino a 6 GB di spazio di archiviazione gratuito. Ti permette di creare un taccuino di base. Avrai bisogno di un indirizzo email valido per verificare il tuo account.

Osserverai questa schermata una volta che avrai effettuato correttamente l'accesso al tuo account.

2. Creazione di un nuovo cluster

Iniziamo con la creazione di un nuovo cluster su cui eseguire i nostri programmi. Fare clic su "Cluster" nella pagina principale e digitare un nuovo nome per il cluster.

Successivamente, è necessario selezionare la versione "Databricks Runtime". Databricks Runtime è un insieme di componenti principali che vengono eseguiti su cluster gestiti da Databricks. Include Apache Spark, ma aggiunge anche una serie di componenti e aggiornamenti per migliorare l'usabilità e le prestazioni dello strumento.

Puoi selezionare qualsiasi versione di Databricks Runtime - Ho selezionato 3.5 LTS (include Apache Spark 2.2.1, Scala 2.11). Puoi anche scegliere tra Python 2 e 3.

Ci vorranno alcuni minuti per creare il cluster. Dopo un po 'di tempo, dovresti essere in grado di vedere un cluster attivo sulla dashboard.

3. Creazione di un nuovo blocco note

Andiamo avanti e creiamo un nuovo Notebook su cui eseguire il programma.

Dalla pagina principale, premi "Nuovo taccuino" e digita un nome per il taccuino. Seleziona la lingua che preferisci: qui ho scelto Python. Puoi vedere che Databricks supporta più lingue tra cui Scala, R e SQL.

Una volta inseriti i dettagli, noterai che il layout del notebook è molto simile al notebook Jupyter. Per testare il notebook, importiamo pyspark.

Il comando è stato eseguito in 0,15 secondi e fornisce anche il nome del cluster su cui è in esecuzione. Se sono presenti errori nel codice, verrà visualizzato sotto la casella cmd.

Puoi premere l'icona della tastiera nell'angolo in alto a destra della pagina per visualizzare le scorciatoie specifiche del sistema operativo.

Le scorciatoie più importanti qui sono:

  • Maiusc + Invio per eseguire una cella
  • Ctrl + Invio continua a eseguire la stessa cella senza passare alla cella successiva

Nota che queste scorciatoie sono per Windows. Puoi controllare le scorciatoie specifiche del sistema operativo per il tuo sistema operativo sull'icona della tastiera.

4. Caricamento dei dati su Databricks

Vai alla sezione "Tabelle" nella barra di sinistra e premi "Crea tabella". Puoi caricare un file o connetterti a un'origine dati Spark o ad un altro database.

Carichiamo qui il file del set di dati iris comunemente usato (se non hai il set di dati, usa questo link)

Dopo aver caricato i dati, crea la tabella con un'interfaccia utente in modo da poter visualizzare la tabella e visualizzarla in anteprima sul tuo cluster. Come puoi vedere, puoi osservare gli attributi della tabella. Spark proverà a rilevare il tipo di dati di ciascuna delle colonne e ti consente anche di modificarlo.

Ora ho bisogno di mettere le intestazioni per le colonne, così posso identificare ogni colonna dalla loro intestazione invece che _c0, _c1e così via.

Ho messo le loro intestazioni come Sepal Length, Sepal Width, Petal Length, Petal Width e Class. Qui, Spark ha rilevato il tipo di dati delle prime quattro colonne in modo errato come una stringa, quindi l'ho cambiato nel tipo di dati desiderato: Float.

5. Come accedere ai dati da Notebook

Spark è un framework che può essere utilizzato per analizzare i big data utilizzando SQL, machine learning, elaborazione di grafici o analisi di streaming in tempo reale. Lavoreremo con SparkSQL e Dataframes in questo tutorial.

Cominciamo a lavorare con i dati sul Notebook. I dati che abbiamo caricato sono ora messi in formato tabulare. Abbiamo bisogno di una query SQL per leggere i dati e metterli in un dataframe.

genere df = sqlContext.sql(“SELECT * FROM iris_data”)per leggere i dati dell'iride in un dataframe.

Per visualizzare le prime cinque righe nel dataframe, posso semplicemente eseguire il comando:

display(df.limit(5))

Notare un'icona del grafico a barre in basso. Dopo aver fatto clic, puoi visualizzare i dati che hai importato in Databricks. Per visualizzare il grafico a barre dei dati completi, esegui display(df)invece di display(df.limit(5)).

Il pulsante a discesa consente di visualizzare i dati in diversi grafici come a barre, a torta, a dispersione e così via. Fornisce inoltre opzioni di stampa per personalizzare il grafico e visualizzare solo colonne specifiche.

È inoltre possibile visualizzare figure matplotlib e ggplot in Databricks. Per una dimostrazione, vedere Matplotlib e ggplot in Python Notebooks.

Per visualizzare tutte le colonne dei dati, è sufficiente digitare df.columns

Per contare quante righe in totale ci sono nel Dataframe (e vedere quanto tempo ci vuole per una scansione completa dal disco remoto / S3), esegui df.count().

6. Conversione di un dataframe Spark in un dataframe Pandas.

Ora, se sei a tuo agio nell'usare i dataframe panda e desideri convertire il tuo dataframe Spark in panda, puoi farlo inserendo il comando

import pandas as pdpandas_df=df.to_pandas()

Ora puoi usare le operazioni panda sul pandas_dfdataframe.

7. Visualizzazione dell'interfaccia utente di Spark

L'interfaccia utente di Spark contiene numerose informazioni necessarie per il debug dei processi Spark. Ci sono un sacco di fantastiche visualizzazioni, quindi guardiamole in sintesi.

Per accedere all'interfaccia utente di Spark, è necessario andare nella parte superiore della pagina dove sono presenti alcune opzioni di menu come "File", "Visualizza", "Codice", "Autorizzazioni" e altre. Troverai il nome del cluster in alto accanto a "Allegato" e un pulsante a discesa accanto ad esso. Premi il pulsante a discesa e seleziona "Visualizza Spark UI". Si aprirà una nuova scheda con molte informazioni sul tuo Notebook.

La vista dell'interfaccia utente fornisce molte informazioni su ogni lavoro eseguito sul cluster, sulle fasi, sull'ambiente e sulle query SQL eseguite. Questa interfaccia utente può essere utile agli utenti per eseguire il debug delle proprie applicazioni. Inoltre, questa interfaccia utente offre una buona visualizzazione delle statistiche di streaming di Spark. Per informazioni più dettagliate su ogni aspetto dell'interfaccia utente di Spark, fare riferimento a questo collegamento.

Una volta che hai finito con il Notebook, puoi andare avanti e pubblicarlo o esportare il file in diversi formati di file, in modo che qualcun altro possa usarlo usando un link univoco. Ho allegato il mio taccuino in formato HTML.

Avvolgendo

Questa è una breve panoramica su come iniziare rapidamente con Databricks ed eseguire i programmi. Il vantaggio dell'utilizzo di Databricks è che offre un servizio end-to-end per la creazione di applicazioni di analisi, data warehousing e machine learning. L'intero cluster Spark può essere gestito, monitorato e protetto utilizzando un modello self-service di Databricks.

Ecco alcuni link interessanti per Data Scientist e per Data Engineers. Inoltre, ecco un tutorial che ho trovato molto utile ed è ottimo per i principianti.