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.
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
Notitie
Zorg ervoor dat u de voorbeeldgegevens in het primaire opslagaccount hebt geplaatst.
Ga in Synapse Studio naar de hub Ontwikkelen.
Maak een nieuwe notebook.
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))
Wijzig de laad-URI, zodat deze verwijst naar het voorbeeldbestand in uw opslagaccount volgens het abfss-URI-schema.
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 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.
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.
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 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")
Selecteer Grafiek in de celresultaten om de gevisualiseerde gegevens weer te geven.