Analizzare dati con Apache Spark
Questa esercitazione illustra i passaggi di base per caricare e analizzare i dati con Apache Spark per Azure Synapse.
Creare un pool di Apache Spark serverless
- Nel riquadro sinistro di Synapse Studio selezionare Gestisci>Pool di Apache Spark.
- Selezionare Nuovo
- Per Nome del pool di Apache Spark, immettere Spark1.
- Per Dimensioni del nodo, immettere Piccole.
- Per Numero di nodi, impostare il valore minimo su 3 e il valore massimo su 3
- Selezionare Rivedi e crea>Crea. Il pool di Apache Spark è pronto in pochi secondi.
Informazioni sui pool di Apache Spark serverless
Un pool di Spark serverless è un modo per indicare come un utente vuole usare Spark. Quando si inizia a usare un pool, viene creata una sessione Spark, se necessario. Il pool controlla il numero di risorse Spark che verranno usate da tale sessione e per quanto tempo la sessione durerà prima che venga sospesa automaticamente. Si paga per le risorse Spark usate durante la sessione e non per il pool stesso. In questo modo un pool di Spark consente di usare Apache Spark senza gestire i cluster. Questo è simile al funzionamento di un pool SQL serverless.
Analizzare i dati dei taxi di New York con un pool di Spark
Nota
Assicurarsi di aver inserito i dati di esempio nell'account di archiviazione primario.
In Synapse Studio passare all'hub Develop (Sviluppo).
Creare un nuovo notebook.
Creare una nuova cella di codice e incollare il codice seguente in tale cella:
%%pyspark df = spark.read.load('abfss://users@contosolake.dfs.core.windows.net/NYCTripSmall.parquet', format='parquet') display(df.limit(10))
Modificare l'URI di caricamento, in modo che faccia riferimento al file di esempio nell'account di archiviazione in base allo schema URI abfss.
Nel notebook, nel menu Connetti a, scegliere il pool di Spark serverless Spark1 creato in precedenza.
Selezionare Esegui nella cella. Synapse avvierà una nuova sessione Spark per eseguire questa cella, se necessario. Se è necessaria una nuova sessione Spark, inizialmente saranno necessari circa 2-5 minuti per la creazione. Una volta creata una sessione, l'esecuzione della cella richiederà circa 2 secondi.
Per vedere semplicemente lo schema del dataframe, eseguire una cella con il codice seguente:
%%pyspark df.printSchema()
Caricare i dati di NYC Taxi nel database nyctaxi di Spark
I dati sono disponibili tramite il DataFrame denominato df. Caricarli in un database Spark denominato nyctaxi.
Aggiungere una nuova cella di codice al notebook e quindi immettere il codice seguente:
%%pyspark spark.sql("CREATE DATABASE IF NOT EXISTS nyctaxi") df.write.mode("overwrite").saveAsTable("nyctaxi.trip")
Analizzare i dati dell'esempio NYC Taxi con Spark e notebook
Creare una nuova cella di codice e immettere il testo seguente.
%%pyspark df = spark.sql("SELECT * FROM nyctaxi.trip") display(df)
Eseguire quindi la cella per visualizzare i dati relativi ai taxi di New York caricati nel database Spark nyctaxi.
Creare una nuova cella di codice e immettere il testo seguente. Questi dati verranno analizzati e salvati in una tabella denominata nyctaxi.passengercountstats.
%%pyspark df = spark.sql(""" SELECT passenger_count, SUM(trip_distance) as SumTripDistance, AVG(trip_distance) as AvgTripDistance FROM nyctaxi.trip WHERE trip_distance > 0 AND passenger_count > 0 GROUP BY passenger_count ORDER BY passenger_count """) display(df) df.write.saveAsTable("nyctaxi.passengercountstats")
Nei risultati della cella selezionare Grafico per visualizzare i dati.