Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Caricamento dei Dati da un File in un DataFrame | Lavorare con i Dati
Fondamenti di Databricks: Guida per Principianti

Caricamento dei Dati da un File in un DataFrame

Scorri per mostrare il menu

Note
Definizione

L'oggetto spark.read è il punto di ingresso per la lettura di dati esterni in un DataFrame Spark. Supporta vari formati di file, inclusi CSV, JSON, Parquet e Delta, e consente di definire come Spark deve interpretare i file.

Nella Sezione 2, è stato caricato un file CSV nell'ambiente Databricks. Ora imparerai come "prelevare" quel file dallo storage e portarlo nella memoria del cluster come DataFrame utilizzando Python. Questo è il primo passo in quasi tutte le pipeline di data engineering.

Sintassi di spark.read

Per caricare un file, si utilizza una specifica catena di comandi. La struttura di base è la seguente:

df = spark.read.format("csv").option("header", "true").load("path/to/file")
  • format: indica a Spark il tipo di file (csv, json, parquet);
  • option("header", "true"): indica a Spark di utilizzare la prima riga del file come nomi delle colonne;
  • load: posizione specifica del file all'interno di Databricks.

Inferenza dello schema

Per impostazione predefinita, Spark presume che ogni colonna in un file CSV sia una stringa (testo). Per rendere i dati più utili, si aggiunge un'altra opzione: .option("inferSchema", "true"). Quando questa opzione è abilitata, Spark esamina rapidamente i dati e identifica automaticamente quali colonne sono interi, decimali o booleani. Questo evita il lavoro manuale di definire i tipi di dati.

Individuazione del percorso del file

Per leggere un file, è necessario conoscerne il percorso. Nella scheda Catalogo o Workspace, è possibile individuare il file caricato, cliccare sui tre puntini (ellissi) accanto ad esso e selezionare "Copia percorso". Nelle versioni moderne di Databricks, se il file è stato caricato tramite l'interfaccia Data Ingestion come descritto nel Capitolo 2.6, i dati sono già salvati come tabella, che possiamo leggere utilizzando:

df = spark.read.table("main.default.sample_sales_records")

Tuttavia, se si sta leggendo il file grezzo direttamente da un Volume, si deve utilizzare il percorso del file:

df = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my_volume/sales_data.csv")

Verifica del caricamento

Dopo aver eseguito il comando di caricamento, è buona pratica verificare i dati. È consigliabile seguire immediatamente il comando di lettura con: display(df)

Questo conferma che i dati sono stati caricati correttamente nella memoria del cluster, che le intestazioni sono nella posizione corretta e che i tipi di dato risultano accurati. In questa fase, i dati risiedono in un oggetto temporaneo chiamato df e si è pronti per iniziare a trasformarli.

1. Perché è consigliabile utilizzare l'impostazione .option("inferSchema", "true") durante la lettura di un file CSV?

2. Quale comando viene utilizzato per importare una tabella esistente dal Catalogo in un DataFrame Python?

question mark

Perché è consigliabile utilizzare l'impostazione .option("inferSchema", "true") durante la lettura di un file CSV?

Seleziona la risposta corretta

question mark

Quale comando viene utilizzato per importare una tabella esistente dal Catalogo in un DataFrame Python?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 4. Capitolo 2
some-alt