Freigeben über


Schnellstart: Analysieren mit Apache Spark

In diesem Tutorial werden die grundlegenden Schritte zum Laden und Analysieren von Daten mit Apache Spark für Azure Synapse beschrieben.

Voraussetzungen

Stellen Sie sicher, dass Sie die Beispieldaten im primären Speicherkonto platziert haben.

Erstellen eines serverlosen Apache Spark-Pools

  1. Wählen Sie in Synapse Studio im linken Bereich die Option Verwalten>Apache Spark-Pools aus.
  2. Wählen Sie Neu aus.
  3. Geben Sie unter Name des Apache Spark-Pools den Namen Spark1 ein.
  4. Geben Sie unter Knotengröße die Größe Klein ein.
  5. Legen Sie unter Knotenanzahl den Mindestwert auf 3 und den Höchstwert auf 3 fest.
  6. Wählen Sie Bewerten + erstellen>Erstellen aus. Ihr Apache Spark-Pool steht in wenigen Sekunden zur Verfügung.

Grundlegendes zu serverlosen Apache Spark-Pools

Mit einem serverlosen Spark-Pool kann angegeben werden, wie ein Benutzer mit Spark arbeiten möchte. Wenn Sie mit der Verwendung eines Pools beginnen, wird bei Bedarf eine Spark-Sitzung erstellt. Der Pool steuert, wie viele Spark-Ressourcen von dieser Sitzung verwendet werden und wie lange die Sitzung dauert, bevor sie automatisch angehalten wird. Sie bezahlen für Spark-Ressourcen, die während der Sitzung verwendet werden, nicht für den Pool selbst. Auf diese Weise können Sie in einem Spark-Pool mit Apache Spark arbeiten, ohne Cluster verwalten müssen. Dies ist vergleichbar mit einem serverlosen SQL-Pool.

Analysieren von NYC Taxi-Daten mit einem Spark-Pool

Hinweis

Stellen Sie sicher, dass Sie die Beispieldaten im primären Speicherkonto platziert haben.

  1. Navigieren Sie in Synapse Studio zum Hub Entwickeln.

  2. Erstellen Sie ein neues Notebook.

  3. Erstellen Sie eine neue Codezelle, und fügen Sie den folgenden Code in diese Zelle ein:

    %%pyspark
    df = spark.read.load('abfss://users@contosolake.dfs.core.windows.net/NYCTripSmall.parquet', format='parquet')
    display(df.limit(10))
    
  4. Ändern Sie den Lade-URI, sodass er gemäß dem abfss-URI-Schema auf die Beispieldatei in Ihrem Speicherkonto verweist.

  5. Wählen Sie im Notebook im Menü Anfügen an den zuvor erstellten serverlosen Spark-Pool Spark1 aus.

  6. Wählen Sie für die Zelle Ausführen aus. Synapse startet bei Bedarf eine neue Spark-Sitzung zur Ausführung dieser Zelle. Ist eine neue Spark-Sitzung erforderlich, dauert ihre Erstellung etwa 2 bis 5 Minuten. Sobald eine Sitzung erstellt ist, dauert die Ausführung der Zelle etwa 2 Sekunden.

  7. Wenn Sie nur das Schema des Datenrahmens anzeigen möchten, führen Sie eine Zelle mit dem folgenden Code aus:

    %%pyspark
    df.printSchema()
    

Laden der NYC Taxi-Daten in die Spark-Datenbank „nyctaxi“

Daten sind über den Datenrahmen mit dem Namen df verfügbar. Laden Sie sie in eine Spark-Datenbank mit dem Namen nyctaxi.

  1. Fügen Sie dem Notebook eine neue Codezelle hinzu, und geben Sie dann den folgenden Code ein:

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

Analysieren der NYC Taxi-Daten mithilfe von Spark und Notebooks

  1. Erstellen Sie eine neue Codezelle, und geben Sie den folgenden Code ein:

    %%pyspark
    df = spark.sql("SELECT * FROM nyctaxi.trip") 
    display(df)
    
  2. Führen Sie die Zelle aus, um die NYC Taxi-Daten anzuzeigen, die Sie in die Spark-Datenbank nyctaxi geladen haben.

  3. Erstellen Sie eine neue Codezelle, und geben Sie den folgenden Code ein: Wir analysieren diese Daten und speichern die Ergebnisse in einer Tabelle namens 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. Wählen Sie in den Zellenergebnissen Diagramm aus, um die visualisierten Daten anzuzeigen.

Nächster Schritt