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

  1. Nel riquadro sinistro di Synapse Studio selezionare Gestisci>Pool di Apache Spark.
  2. Selezionare Nuovo
  3. Per Nome del pool di Apache Spark, immettere Spark1.
  4. Per Dimensioni del nodo, immettere Piccole.
  5. Per Numero di nodi, impostare il valore minimo su 3 e il valore massimo su 3
  6. 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 la durata della sessione 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 di NYC Taxi con un pool di Spark

  1. In Synapse Studio passare all'hub Develop (Sviluppo).

  2. Creare un nuovo notebook.

  3. 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))
    
  4. Modificare l'URI di caricamento, in modo che faccia riferimento al file di esempio nell'account di archiviazione in base allo schema URI abfss.

  5. Nel notebook scegliere il pool spark serverless creato in precedenza nel menu Connetti a.

  6. Selezionare Esegui nella cella. Synapse avvierà una nuova sessione Spark per eseguire questa cella, se necessario. Se è necessaria una nuova sessione Spark, la creazione richiederà da circa 2 a 5 minuti. Una volta creata una sessione, l'esecuzione della cella richiederà circa 2 secondi.

  7. 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.

  1. 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

  1. Creare una nuova cella di codice e immettere il codice seguente.

    %%pyspark
    df = spark.sql("SELECT * FROM nyctaxi.trip") 
    display(df)
    
  2. Eseguire la cella per visualizzare i dati di NYC Taxi caricati nel database nyctaxi Spark.

  3. Creare una nuova cella di codice e immettere il codice 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")
    
  4. Nei risultati della cella selezionare Grafico per visualizzare i dati.

Passaggi successivi