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
- Selecteer in Synapse Studio in het linkerdeelvenster Beheren > Apache Spark-pools.
- Selecteer Nieuw
- Voer Spark1 in voor Naam van Apache Spark-pool.
- Voer Klein in voor Grootte van knooppunt.
- Stel voor Aantal knooppunten het minimum in op 3 en het maximum op 3
- 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
Ga Synapse Studio naar de hub Ontwikkelen
Een nieuwe notebook maken
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))Kies in het notebook in het menu Koppelen aan de serverloze Spark-pool Spark1 die we eerder hebben gemaakt.
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.
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.
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
Maak een nieuwe codecel en voer de volgende code in.
%%pyspark df = spark.sql("SELECT * FROM nyctaxi.trip") display(df)Voer de cel uit om de NYC Taxi-gegevens weer te geven die we in de nyctaxi Spark-database hebben geladen.
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")Selecteer Grafiek in de celresultaten om de gevisualiseerde gegevens weer te geven.