Analysera med Apache Spark

I den här självstudien lär du dig de grundläggande stegen för att läsa in och analysera data med Apache Spark för Azure Synapse.

Skapa en serverlös Apache Spark-pool

  1. I Synapse Studio väljer du Hantera>Apache Spark-pooler i fönstret till vänster.
  2. Välj Ny
  3. För Apache Spark-poolnamn anger du Spark1.
  4. För Nodstorlek anger du Liten.
  5. För Antal noder Anger du minst till 3 och högst 3
  6. Välj Granska + skapa>Skapa. Apache Spark-poolen är klar om några sekunder.

Förstå serverlösa Apache Spark-pooler

En serverlös Spark-pool är ett sätt att ange hur en användare vill arbeta med Spark. När du börjar använda en pool skapas en Spark-session om det behövs. Poolen styr hur många Spark-resurser som ska användas av den sessionen och hur länge sessionen ska pågå innan den pausas automatiskt. Du betalar för spark-resurser som används under sessionen och inte för själva poolen. På så sätt kan du använda Apache Spark i en Spark-pool utan att hantera kluster. Det här liknar hur en serverlös SQL-pool fungerar.

Analysera NYC Taxi-data med en Spark-pool

Anteckning

Kontrollera att du har placerat exempeldata i det primära lagringskontot.

  1. I Synapse Studio går du till utveckla hubben.

  2. Skapa en ny anteckningsbok.

  3. Skapa en ny kodcell och klistra in följande kod i cellen:

    %%pyspark
    df = spark.read.load('abfss://users@contosolake.dfs.core.windows.net/NYCTripSmall.parquet', format='parquet')
    display(df.limit(10))
    
  4. Ändra inläsnings-URI:n så att den refererar till exempelfilen i ditt lagringskonto enligt abfss URI-schemat.

  5. I anteckningsboken går du till menyn Anslut till och väljer den Serverlösa Spark-pool i Spark1 som vi skapade tidigare.

  6. Välj Kör i cellen. Synapse startar en ny Spark-session för att köra den här cellen om det behövs. Om en ny Spark-session behövs tar det inledningsvis cirka 2 till 5 minuter att skapa. När en session har skapats tar körningen av cellen cirka 2 sekunder.

  7. Om du bara vill se schemat för dataramen kör du en cell med följande kod:

    %%pyspark
    df.printSchema()
    

Läs in NYC Taxi-data i Spark nyctaxi-databasen

Data är tillgängliga via dataramen med namnet df. Läs in den i en Spark-databas med namnet nyctaxi.

  1. Lägg till en ny kodcell i anteckningsboken och ange sedan följande kod:

    %%pyspark
    spark.sql("CREATE DATABASE IF NOT EXISTS nyctaxi")
    df.write.mode("overwrite").saveAsTable("nyctaxi.trip")
    

Analysera NYC Taxi-data med Spark och notebook-filer

  1. Skapa en ny kodcell och ange följande kod.

    %%pyspark
    df = spark.sql("SELECT * FROM nyctaxi.trip") 
    display(df)
    
  2. Kör cellen för att visa de NYC Taxi-data som vi läste in i nyctaxi Spark-databasen.

  3. Skapa en ny kodcell och ange följande kod. Vi analyserar dessa data och sparar resultaten i en tabell med namnet 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. I cellresultatet väljer du Diagram för att se de data som visualiseras.

Nästa steg