Last chance! 50% off DataCamp Premium
Sale ends in
All'inizio c'erano i data warehouse. Archiviavano i dati in righe e colonne perché tutto ciò che Internet e i computer dell'epoca erano in grado di distribuire erano informazioni testuali semplici. Molto più tardi sono arrivati i data lake — potevano archiviare quasi qualsiasi tipo di dato tu riuscissi a raccogliere. Erano perfetti per l'era dei social media e di YouTube.
Ma entrambi avevano degli svantaggi — i data warehouse erano costosi e inadatti alla data science moderna, mentre i data lake erano disordinati e spesso si trasformavano in paludi di dati. Così, le aziende hanno iniziato ad avere due stack tecnologici separati — warehouse per BI e analytics e lake per il machine learning.
Tuttavia, gestire due architetture dati diverse era così oneroso che spesso le aziende ottenevano risultati scarsi. Questo problema ha dato origine all'architettura lakehouse, che è esattamente ciò per cui Databricks è famoso.
Databricks è una piattaforma cloud che consente agli utenti di ottenere valore sia dai warehouse che dai lake in un ambiente unificato. Questo articolo offrirà una panoramica della piattaforma, mostrando le sue funzioni più importanti e come usarle.
Databricks è una piattaforma così vasta che la sua stessa documentazione potrebbe diventare un libro. Quindi, l'obiettivo dell'articolo è fornirti una gerarchia di concetti — spiegazioni ordinate linearmente delle funzionalità di Databricks che ti porteranno da principiante a un discreto utilizzatore della piattaforma. Se sei completamente alle prime armi, potresti anche dare un'occhiata al nostro corso Introduzione a Databricks.
Iniziamo!
Quando leggi la parola Databricks, dovresti pensarla subito come una piattaforma, non come un framework o una libreria Python. In genere, le piattaforme offrono un'ampia gamma di funzionalità, e Databricks non fa eccezione. È una delle pochissime piattaforme che possono essere utilizzate da qualsiasi professionista dei dati, dagli ingegneri dei dati ai moderni ingegneri di machine learning (o come li chiama oggi la stampa, programmatori di IA).
Databricks ha i seguenti componenti principali:
Questi componenti, combinati, sbloccano un'ampia gamma di vantaggi:
Se ti ho convinto dell'importanza di Databricks nel mondo dei dati, vediamo come iniziare a usare la piattaforma.
Per configurare il tuo account, vai su https://www.databricks.com/try-databricks e iscriviti alla Community Edition.

La Community Edition ha meno funzionalità rispetto alla versione Enterprise, ma non richiede la configurazione di un cloud provider, il che è ottimo per casi d'uso ridotti come i tutorial.
Se dopo la verifica dell'email vedi questa pagina, sei a posto:

L'interfaccia che hai visto è il Workspace associato al tuo indirizzo email (il workspace della Community Edition è facilmente reperibile). In pratica, di solito un amministratore del tuo azienda crea un unico account Databricks e gestisce l'accesso al workspace.
Ora, capiamo la UI della piattaforma. Nel pannello di sinistra trovi il menu per i diversi componenti offerti da Databricks. La versione enterprise avrà ancora più pulsanti:

La prima opzione del menu è il tipo di workspace, impostato di default su data science and engineering. Se lo cambi in machine learning, compare una nuova opzione Experiments:

In apparenza potrebbe sembrare che non faccia molto, ma una volta effettuato l'upgrade dell'account e iniziando a smanettare, noterai alcune ottime funzionalità della piattaforma:
e così via.
Ora, vediamo più da vicino alcuni di questi componenti.
I cluster in Databricks si riferiscono alle risorse computazionali utilizzate per eseguire attività di elaborazione dati. Di solito, i cluster sono forniti dal cloud provider scelto durante la configurazione dell'account.
I cluster della Community Edition sono limitati in RAM e potenza CPU, e le GPU non sono incluse. Tuttavia, gli utenti premium possono spesso svolgere le seguenti attività con i cluster in modo semplice:
Per creare un cluster, puoi usare il pulsante "Create" o l'opzione "Compute" dal menu:

Durante la creazione del cluster, scegli una versione di Spark appropriata per il tuo ambiente e attendi alcuni minuti perché diventi operativo.
Una volta che hai un cluster in esecuzione, sei pronto per creare notebook. Se hai già lavorato con Jupyter, Colab o DataCamp Workspaces, ti sembrerà familiare:

Ma in un mondo in cui esiste il vero Jupyter, perché scegliere qualcosa di "simile a Jupyter"? Ebbene, i notebook di Databricks hanno i seguenti vantaggi rispetto ai notebook Jupyter:
Ci sono molti altri vantaggi dei notebook Databricks rispetto a Jupyter, quindi ecco una tabella che riassume le differenze:
|
Funzionalità |
Notebook Jupyter |
Notebook Databricks |
|
Piattaforma |
Open-source, eseguiti in locale o su piattaforme cloud |
Esclusivi della piattaforma Databricks |
|
Collaborazione e condivisione |
Funzionalità di collaborazione limitate, condivisione manuale |
Collaborazione integrata, editing concorrente in tempo reale |
|
Esecuzione |
Si basa su server locali o esterni |
Esecuzione su cluster Databricks |
|
Integrazione con Big Data |
Integrabile con Spark, richiede configurazioni aggiuntive |
Integrazione nativa con Apache Spark, ottimizzata per i big data |
|
Funzionalità integrate |
Strumenti/estensioni esterne per versioning, collaborazione e visualizzazione |
Integrazione con funzionalità specifiche di Databricks come Delta Lake, supporto integrato per collaborazione e strumenti di analisi |
|
Costo e scalabilità |
Installazioni locali spesso gratuite, soluzioni cloud possono avere costi |
Servizio a pagamento, i costi dipendono dall'uso, scala senza problemi con i cluster Databricks |
|
Facilità d'uso |
Familiare e ampiamente utilizzato nella community di data science |
Progettato per l'analisi dei big data, può avere una curva di apprendimento più ripida per le funzionalità specifiche di Databricks |
|
Visualizzazione dei dati |
Supporto integrato limitato per la visualizzazione dei dati |
Supporto integrato per la visualizzazione dei dati all'interno del notebook |
|
Gestione dei cluster |
Gli utenti devono gestire manualmente sessioni Spark e dipendenze |
La piattaforma Databricks gestisce automaticamente cluster e scalabilità |
|
Casi d'uso |
Versatili per varie attività di data science |
Specializzati per analisi collaborativa di big data all'interno della piattaforma Databricks |
In definitiva, i vantaggi sopra elencati dei notebook Databricks entrano in gioco in casi d'uso specifici. Se vuoi sperimentare con un dataset CSV con Pandas sul tuo laptop, Jupyter è molto meglio.
Ma, per applicazioni di livello enterprise, Databricks come piattaforma può essere l'opzione migliore.
Ingestione dei dati significa importare dati da varie sorgenti. Databricks supporta l'ingestione da un'ampia varietà di fonti, tra cui:
e così via.
Ora vediamo effettivamente come puoi caricare alcuni tipi di dati in Databricks. Partiremo dai file locali:

Seguendo i passaggi nella GIF, avrai un file archiviato nel workspace. Ecco come puoi caricarlo con Spark:
# Importing necessary libraries
from pyspark.sql import SparkSession
# Creating a Spark session
spark = SparkSession.builder.appName("S3ImportExample").getOrCreate()
# Defining the CSV path to the data
path = "dbfs:/FileStore/tables/diamonds.csv"
# Reading data from S3 into a DataFrame
data_from_s3 = spark.read.csv(path, header=True, inferSchema=True)
# Displaying the imported data
data_from_s3.show()
Fai attenzione al prefisso dbfs:. Tutti i file del workspace devono includerlo affinché il file venga caricato correttamente con Spark. DBFS sta per Databricks File System.
Importare dati da un bucket S3 è simile (per account enterprise):
# Importing necessary libraries
from pyspark.sql import SparkSession
# Creating a Spark session
spark = SparkSession.builder.appName("S3ImportExample").getOrCreate()
# Defining the S3 path to the data
s3_path = "s3://your-bucket/your-data.csv"
# Reading data from S3 into a DataFrame
data_from_s3 = spark.read.csv(s3_path, header=True, inferSchema=True)
# Displaying the imported data
data_from_s3.show()
Per altri tipi di dati, puoi consultare le sezioni Data engineering e Connessione alle sorgenti dati della documentazione di Databricks.
Quando abbiamo caricato il file diamonds.csv, è diventato una tabella Databricks in un database chiamato default:

Questo database default viene creato ogni volta che proviamo a caricare file strutturati senza creare prima il database.
Se abbiamo un database, significa che possiamo interrogarlo con SQL, non solo con Spark. Per farlo, crea un nuovo notebook o cambia la lingua del notebook corrente in SQL. Poi, prova il seguente snippet di codice:
SELECT * FROM default.diamonds_1_csv
LIMIT 5;
Dovrebbe restituire le prime cinque righe della tabella diamonds:

Nota: sto usando un notebook SQL per lo snippet sopra
Puoi caricare questa tabella anche in Pandas. All'interno dello stesso notebook, incolla questo snippet:
%python
# Import the necessary libraries
import pandas as pd
# Assuming 'default' is the database name and 'diamonds' is the table name
# Use the spark.sql function to query the table and retrieve the data
table_df = spark.sql("SELECT * FROM default.diamonds_1_csv")
# Convert the Spark DataFrame to a Pandas DataFrame
pandas_df = table_df.toPandas()
# Display the Pandas DataFrame
pandas_df.head()
Dovrebbe stampare la head della tabella:

Ora puoi svolgere qualsiasi tipica attività di analisi dati sulla tabella sia con SQL che con Pandas.
Siamo riusciti a imparare e fare molto usando il nostro account Databricks Community Edition essenziale. Per continuare a imparare la piattaforma, il primo passo è usare la prova gratuita di due settimane che Databricks offre per gli account premium.
Poi potrai goderti appieno le lezioni del corso Introduzione a Databricks offerto da DataCamp. Oltre alla configurazione dell'account, imparerai e praticherai le seguenti funzionalità principali di DataCamp:
Sono un creator di contenuti sulla data science con oltre 2 anni di esperienza e uno dei più seguiti su Medium. Mi piace scrivere articoli dettagliati su AI e ML con un pizzico di sarcasmo, perché bisogna pur fare qualcosa per renderli un po’ meno noiosi. Ho pubblicato oltre 130 articoli e un corso su DataCamp, con un altro in arrivo. I miei contenuti sono stati visti da oltre 5 milioni di persone, 20.000 delle quali sono diventate follower sia su Medium che su LinkedIn.
Inizia oggi il tuo percorso con Databricks!
Corso
Programma
Programma
blog
Tim Lu
12 min

blog
Abid Ali Awan
10 min

blog
Abid Ali Awan
15 min