Analysera med Apache Spark
I den här självstudien lär du dig de grundläggande stegen för att läsa in och analysera data med Apache Spark för Azure Synapse.
Skapa en serverlös Apache Spark-pool
- I Synapse Studio väljer du Hantera>Apache Spark-pooler i fönstret till vänster.
- Välj Ny
- För Apache Spark-poolnamn anger du Spark1.
- För Nodstorlek anger du Liten.
- För Antal noder Anger du minst till 3 och högst 3
- Välj Granska + skapa>Skapa. Apache Spark-poolen ä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 ska pågå innan den pausas automatiskt. Du betalar för spark-resurser som används under sessionen och inte för själva poolen. På så sätt kan du använda Apache Spark i en Spark-pool utan att hantera kluster. Det här liknar hur en serverlös SQL-pool fungerar.
Analysera NYC Taxi-data med en Spark-pool
Anteckning
Kontrollera att du har placerat exempeldata i det primära lagringskontot.
I Synapse Studio går du till utveckla hubben.
Skapa en ny anteckningsbok.
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))
Ändra inläsnings-URI:n så att den refererar till exempelfilen i ditt lagringskonto enligt abfss URI-schemat.
I anteckningsboken går du till menyn Anslut till och väljer den Serverlösa Spark-pool i Spark1 som vi skapade tidigare.
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 en ny Spark-session behövs tar det inledningsvis cirka 2 till 5 minuter att skapa. När en session har skapats tar körningen av cellen cirka 2 sekunder.
Om du bara vill se schemat för dataramen kör du en cell med följande kod:
%%pyspark df.printSchema()
Läs in NYC Taxi-data i Spark nyctaxi-databasen
Data är tillgängliga via dataramen med namnet df. Läs in den i en Spark-databas med namnet nyctaxi.
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 Taxi-data med Spark och notebook-filer
Skapa en ny kodcell och ange följande kod.
%%pyspark df = spark.sql("SELECT * FROM nyctaxi.trip") display(df)
Kör cellen för att visa de NYC Taxi-data som vi läste in i nyctaxi Spark-databasen.
Skapa en ny kodcell och ange följande kod. Vi analyserar dessa data och sparar resultaten i en tabell med namnet 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")
I cellresultatet väljer du Diagram för att se de data som visualiseras.