Análisis con Apache Spark

En este tutorial, aprenderá los pasos básicos para cargar y analizar datos con Apache Spark para Azure Synapse.

Crear un grupo de Apache Spark sin servidor

  1. En Synapse Studio, en el lado izquierdo, seleccione Administrar>Grupos de Apache Spark.
  2. Seleccione Nuevo paso.
  3. En Nombre del grupo de Apache Spark escriba Spark1.
  4. En Tamaño del nodo escriba Pequeño.
  5. En Número de nodos, establezca el valor mínimo en 3 y el máximo en 3.
  6. Seleccione Revisar y crear>Crear. El grupo de Apache Spark estará listo en unos segundos.

Descripción de los grupos de Apache Spark sin servidor

Un grupo de Spark sin servidor es una forma de indicar cómo un usuario desea trabajar con Spark. Cuando se empieza a usar un grupo, se crea una sesión de Spark, en caso de que sea preciso. El grupo controla el número de recursos de Spark que se usarán en esa sesión y el tiempo que durará la sesión antes de que se pause automáticamente. El usuario paga por los recursos de Spark usados durante esa sesión y no por el grupo en sí. De este modo, un grupo de Spark le permite usar Apache Spark sin administrar clústeres. Esto es similar al funcionamiento de un grupo de SQL sin servidor.

Análisis de datos de taxis de Nueva York con un grupo de Spark

  1. En Synapse Studio, vaya al centro Develop (Desarrollo).

  2. Cree un nuevo notebook.

  3. Cree una celda de código y pegue el código siguiente en ella:

    %%pyspark
    df = spark.read.load('abfss://users@contosolake.dfs.core.windows.net/NYCTripSmall.parquet', format='parquet')
    display(df.limit(10))
    
  4. Modifique el identificador URI de carga para que haga referencia al archivo de ejemplo de la cuenta de almacenamiento según el esquema de URI de abfss.

  5. En el cuaderno, en el menú Attach to (Asociar a), elija el grupo de Spark sin servidor Spark1 que se creó anteriormente.

  6. Seleccione Run (Ejecutar) en la celda. En caso de que sea necesario, Synapse iniciará una nueva sesión de Spark para ejecutar esta celda. Si se necesita una nueva sesión de Spark, tardará aproximadamente de 2 a 5 minutos en crearse. Una vez creada una sesión, la ejecución de la celda tardará aproximadamente 2 segundos.

  7. Si solo desea ver el esquema de la trama de datos, ejecute una celda con el siguiente código:

    %%pyspark
    df.printSchema()
    

Carga de los datos de los taxis de Nueva York en la base de datos nyctaxi de Spark

Los datos están disponibles mediante la trama de datos denominada df. Cárguelos en una base de datos de Spark denominada nyctaxi.

  1. Agregue una nueva celda de código al cuaderno y, a continuación, escriba el código siguiente:

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

Análisis de los datos de los taxis de Nueva York mediante Spark y cuadernos

  1. Cree una celda de código y escriba el código siguiente.

    %%pyspark
    df = spark.sql("SELECT * FROM nyctaxi.trip") 
    display(df)
    
  2. Ejecute la celda para que se muestren los datos de taxis de Nueva York que cargamos en la base de datos nyctaxi de Spark.

  3. Cree una celda de código y escriba el código siguiente. Analizaremos estos datos y guardaremos los resultados en la tabla 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. En los resultados de la celda, seleccione Chart (Gráfico) para ver los datos visualizados.

Pasos siguientes