Analyseren met behulp van Apache Spark

In deze zelfstudie leert u de basisstappen voor het laden en analyseren van gegevens met Apache Spark voor Azure Synapse.

Een serverloze Apache Spark-pool maken

  1. Selecteer in Synapse Studio in het linkerdeelvenster Beheren > Apache Spark-pools.
  2. Selecteer Nieuw
  3. Voer Spark1 in voor Naam van Apache Spark-pool.
  4. Voer Klein in voor Grootte van knooppunt.
  5. Stel voor Aantal knooppunten het minimum in op 3 en het maximum op 3
  6. Selecteer Beoordelen en maken > Maken. Uw Apache Spark-pool is binnen een paar seconden gereed.

Meer informatie over serverloze Apache Spark groepen

Een serverloze Spark-pool is een manier om aan te geven hoe een gebruiker met Spark wil werken. Wanneer u begint met het gebruik van een pool, wordt er indien nodig een Spark-sessie gemaakt. De pool bepaalt hoeveel Spark-resources door die sessie worden gebruikt en hoe lang de sessie duurt voordat deze automatisch wordt onderbroken. U betaalt voor Spark-resources die tijdens die sessie worden gebruikt, niet voor de pool zelf. Op deze manier kunt u met een Spark-pool werken met Spark, zonder dat u zich zorgen hoeft te maken over het beheren van clusters. Dit is vergelijkbaar met de manier waarop een serverloze SQL pool werkt.

Nyc Taxi-gegevens analyseren met een Spark-pool

  1. Ga Synapse Studio naar de hub Ontwikkelen

  2. Een nieuwe notebook maken

  3. Maak een nieuwe codecel en plak de volgende code in die cel.

    %%pyspark
    df = spark.read.load('abfss://users@contosolake.dfs.core.windows.net/NYCTripSmall.parquet', format='parquet')
    display(df.limit(10))
    
  4. Kies in het notebook in het menu Koppelen aan de serverloze Spark-pool Spark1 die we eerder hebben gemaakt.

  5. Selecteer Uitvoeren op de cel. Synapse start een nieuwe Spark-sessie om deze cel uit te voeren, indien nodig. Als er een nieuwe Spark-sessie nodig is, duurt het in eerste instantie ongeveer twee seconden om deze te maken.

  6. Als u alleen wilt zien hoe een cel met de volgende code wordt uitgevoerd met het schema van het dataframe:

    %%pyspark
    df.printSchema()
    

De gegevens van NYC-taxi laden in de Apache Spark-database nyctaxi

Gegevens zijn beschikbaar via het gegevensframe met de naam df. Laad deze in een Apache Spark-database met de naam nyctaxi.

  1. Voeg een nieuwe codecel toe aan het notebook en voer de volgende code in:

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

De gegevens over de NYC-taxi met behulp van Apache Spark en notebooks analyseren

  1. Maak een nieuwe codecel en voer de volgende code in.

    %%pyspark
    df = spark.sql("SELECT * FROM nyctaxi.trip") 
    display(df)
    
  2. Voer de cel uit om de NYC Taxi-gegevens weer te geven die we in de nyctaxi Spark-database hebben geladen.

  3. Maak een nieuwe codecel en voer de volgende code in. We analyseren deze gegevens en slaan de resultaten op in een tabel met de naam nyctaxi.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. Selecteer Grafiek in de celresultaten om de gevisualiseerde gegevens weer te geven.

Volgende stappen