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.

Informatie over serverloze Apache Spark-pools

Een serverloze Spark-pool is een manier om aan te geven hoe een gebruiker met Spark wil werken. Wanneer u een pool gaat gebruiken, wordt er zo 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 en niet voor de pool zelf. Op deze manier kunt u met een Spark-pool Apache Spark gebruiken zonder clusters te beheren. Dit is vergelijkbaar met hoe een serverloze SQL-pool werkt.

Nyc Taxi-gegevens analyseren met een Spark-pool

  1. Ga in Synapse Studio naar de hub Ontwikkelen.

  2. Maak een nieuwe notebook.

  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. Wijzig de laad-URI, zodat deze verwijst naar het voorbeeldbestand in uw opslagaccount volgens het abfss-URI-schema.

  5. Kies in het notebook in het menu Koppelen aan de serverloze Spark-pool spark1 die we eerder hebben gemaakt.

  6. Selecteer Uitvoeren op de cel. Synapse start indien nodig een nieuwe Spark-sessie om deze cel uit te voeren. Als er een nieuwe Spark-sessie nodig is, duurt het in eerste instantie ongeveer 2 tot 5 minuten om te worden gemaakt. Zodra een sessie is gemaakt, duurt de uitvoering van de cel ongeveer 2 seconden.

  7. 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 dataframe 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 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. Selecteer Grafiek in de celresultaten om de gevisualiseerde gegevens weer te geven.

Volgende stappen