Analysera med Apache Spark

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

Skapa en serverlös Apache Spark pool

  1. I Synapse Studio rutan till vänster väljer du Hantera > Apache Spark pooler.
  2. Välj Ny
  3. För Apache Spark anger du Spark1.
  4. För Nodstorlek anger du Liten.
  5. För Antal noder anger du minst 3 och det högsta till 3
  6. Välj Granska + skapa > Skapa. Din Apache Spark ä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 varar innan den pausas automatiskt. Du betalar för Spark-resurser som används under den sessionen, inte för själva poolen. På så sätt kan du med en Spark-pool arbeta med Spark utan att behöva oroa dig för att hantera kluster. Detta liknar hur en serverlös SQL fungerar.

Analysera nyc-taxidata med en Spark-pool

  1. I Synapse Studio du till hubben Utveckla

  2. Skapa en ny notebook

  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. I anteckningsboken går du till menyn Anslut till och väljer den Spark1-serverlösa Spark-pool som vi skapade tidigare.

  5. 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 du behöver en ny Spark-session tar det inledningsvis cirka två sekunder att skapa.

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

    %%pyspark
    df.printSchema()
    

Läsa in nyc taxi-data i Spark-databasen

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

  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-taxidata med Spark och notebook-datorer

  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 nyc taxi-data som vi har läst in i spark-databasen nyc spark.

  3. Skapa en ny kodcell och ange följande kod. Vi analyserar dessa data och sparar resultatet i en tabell med namnet nycabel.passengercountstats.

    %%pyspark
    df = spark.sql("""
       SELECT PassengerCount,
           SUM(TripDistanceMiles) as SumTripDistance,
           AVG(TripDistanceMiles) as AvgTripDistance
       FROM nyctaxi.trip
       WHERE TripDistanceMiles > 0 AND PassengerCount > 0
       GROUP BY PassengerCount
       ORDER BY PassengerCount
    """) 
    display(df)
    df.write.saveAsTable("nyctaxi.passengercountstats")
    
  4. I cellresultaten väljer du Diagram för att se data visualiserade.

Nästa steg