Azure Synapse Analytics con Spark

Repo
Blog / Azure Synapse Analytics con S… /
Azure Synapse Analytics con Spark

Por: Leonardo Narváez.

En: 13 de Noviembre de 2024 a las 12:41
Apache Spark Azure Azure Portal Azure Synapse Analytics Big Data

Descripción

Este repositorio contiene un tutorial completo sobre cómo comenzar con Azure Synapse Analytics, incluyendo la creación de un área de trabajo, la configuración de una cuenta de almacenamiento, la carga y análisis de datos utilizando SQL sin servidor y Apache Spark. Está diseñado para ayudar a los usuarios a familiarizarse con Azure Synapse y sus herramientas principales.

El tutorial esta basado en las guias de learn de microsoft aquí.

Contenidos

  • Introducción a Azure Synapse Analytics: Conceptos básicos y requisitos previos.
  • Creación del Área de Trabajo: Paso a paso sobre cómo crear un área de trabajo en Azure Synapse desde Azure Portal.
  • Carga de Datos de Ejemplo: Instrucciones para cargar un conjunto de datos de ejemplo en el área de trabajo.
  • Análisis de Datos con SQL Sin Servidor: Ejemplos de consultas SQL para explorar los datos cargados.
  • Creación y Configuración de Grupos de Apache Spark: Cómsy
  • Análisis de Datos con Spark: Ejecución de análisis de datos usando notebooks y Apache Spark.

Requisitos Previos

  • Cuenta de Azure: Puedes crear una cuenta gratuita en Azure.
  • Acceso a Azure Portal: Debes tener acceso al portal de Azure y permisos para crear recursos.

Cómo Empezar

Paso 1: Creación del Área de Trabajo de Synapse en Azure Portal

Abrir Azure Portal: Ve a Azure Portal y escribe "Synapse" en la barra de búsqueda sin pulsar enter.

Seleccionar Azure Synapse Analytics: En los resultados de búsqueda, bajo "Servicios", selecciona Azure Synapse Analytics.

Crear Área de Trabajo: Selecciona Crear para comenzar a crear un área de trabajo.

Datos Básicos:

  • Suscripción: Selecciona la suscripción que tengas disponible.
  • Grupo de recursos: Usa un grupo de recursos existente o crea uno nuevo.
  • Grupo de recursos administrados: Déjalo en blanco.
  • Nombre del área de trabajo: Ingresa un nombre que sea único. Por ejemplo: myworkspaceai97.
  • Región: Selecciona la misma región donde se encuentran tus aplicaciones y servicios para evitar problemas de rendimiento. Nosotros seleccionamos North Europe
  • En "Seleccionar Data Lake Storage Gen2": Nombre de la cuenta: Selecciona Crear nuevo y asigna un nombre único, por ejemplo, accountname97. Importante recordad
  • Nombre del sistema de archivos: Selecciona Crear nuevo y asigna el nombre users.
  • Marca la casilla para asignarte el rol de Colaborador de datos de Storage Blob.

Te debe quedar de la siguiente manera:

Revisar y crear:

Selecciona Revisar y crear y luego Crear.

Espera unos minutos hasta que el área de trabajo esté lista.

Paso 2: Abrir Synapse Studio

Abrir Synapse Studio desde Azure Portal: Una vez que el área de trabajo esté creada, ve a la sección "Información general" y selecciona Abrir en el cuadro Abrir Synapse Studio.

Iniciar sesión en Synapse Studio: Inicia sesión utilizando tu suscripción de Azure.

Paso 3: Cargar Datos de Ejemplo

Descargar el dataset de NYC Taxi: Descarga el dataset "NYC Taxi - green trip" en tu equipo desde el siguiente vínculo.

Cambia el nombre del archivo descargado a NYCTripSmall.parquet.

Cargar el archivo en Synapse Studio:

  • Ve al centro Datos en Synapse Studio.

  • Selecciona Vinculado y luego el contenedor llamado users (Primary).

  • Selecciona Cargar y sube el archivo NYCTripSmall.parquet

Paso 4: Análisis de Datos con un Grupo de SQL Sin Servidor

Crear un script de SQL: En Synapse Studio, ve al centro de Desarrollo y crea un nuevo script de SQL.

Ejecutar una consulta SQL: Pega el siguiente código en el script (actualiza accountname97 el nombre de tu cuenta de almacenamiento y users con el nombre del contenedor):

SELECT
    TOP 100 *
FROM
    OPENROWSET(
        BULK 'https://accountname97.dfs.core.windows.net/users/NYCTripSmall.parquet',
        FORMAT='PARQUET'
    ) AS [result]

Selecciona Run (Ejecutar).

Paso 5: Creación de una Base de Datos de Exploración de Datos

Creamos un nuevo script SQL:

Crear una Base de Datos Independiente: Usa la base de datos master para crear una nueva base de datos denominada DataExplorationDB:

CREATE DATABASE DataExplorationDB 
COLLATE Latin1_General_100_BIN2_UTF8
Importante: Usa una intercalación con sufijo _UTF8 para que el texto UTF-8 se convierta correctamente en columnas VARCHAR.

Cambiar el Contexto de la Base de Datos: Cambia el contexto de la base de datos desde master a DataExplorationDB:

USE DataExplorationDB

Crear Objetos de Utilidad:

  • Crea un origen de datos externo:
CREATE EXTERNAL DATA SOURCE ContosoLake
WITH ( LOCATION = 'https://accountname97.dfs.core.windows.net')
Nota: Los orígenes de datos externos se pueden crear sin credenciales.

Paso 6: Creación de un Grupo de Apache Spark Sin Servidor

  1. Crear un Grupo de Apache Spark:
  • En Synapse Studio, en el lado izquierdo, selecciona Administrar > Grupos de Apache Spark.

  • Selecciona Nuevo paso.
  • En Nombre del grupo de Apache Spark escribe Spark1.
  • En Tamaño del nodo escribe Pequeño.
  • En Número de nodos, establece el valor mínimo en 3 y el máximo en 3.

  • Selecciona Revisar y crear > Crear.

Paso 7: Análisis de Datos de Taxis de Nueva York con un Grupo de Spark

Crear un Nuevo Notebook: Crea un nuevo notebook en Synapse Studio y asocia el grupo de Spark Spark1.

Cargar y Mostrar Datos:

%%pyspark
df = spark.read.load('abfss://users@accountname97.dfs.core.windows.net/NYCTripSmall.parquet', format='parquet')
display(df.limit(10))

Ver el Esquema de la Trama de Datos:

%%pyspark
df.printSchema()

Cargar los Datos en una Base de Datos de Spark:

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

Análisis de los Datos Mediante Spark y Notebooks:

%%pyspark
df = spark.sql("SELECT * FROM nyctaxi.trip") 
display(df)

Guardar Resultados de Análisis:

%%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")

Conclusión

En este tutorial, hemos aprendido a:

  • Crear un área de trabajo de Azure Synapse Analytics.
  • Configurar una cuenta de almacenamiento y cargar datos.
  • Utilizar un grupo de SQL sin servidor para analizar datos.
  • Crear una base de datos de exploración de datos y objetos de utilidad.
  • Configurar y utilizar un grupo de Apache Spark sin servidor.
  • Realizar análisis de datos utilizando Apache Spark y notebooks.

Este es solo el comienzo. Puedes seguir explorando las herramientas disponibles en Synapse Studio, como la integración con Power BI para crear visualizaciones interactivas.

Compartir:

Ver más

Práctica de Dataframes con PySpark en Databricks: Análisis y Transformació…
7 Tutoriales
Práctica de RDD con PySpark en Databricks: Análisis y Transformación de Da…
25 Tutoriales
Ejercicio de Transformación de Datos en Kaggle: Análisis de Retrasos en Vu…
12 Tutoriales
Guía Completa de Databricks: Instalación, Configuración de Clústeres y Not…
23 Tutoriales

author-azure-synapse-analytics-con-spark
Leonardo Narváez

Desarrollador de software apasionado y creativo con experiencia en diversos lenguajes y tecnologías. Especializado en la creación de soluciones innovadoras y eficientes, como aplicaciones web y móviles, sitios web interactivos y soluciones personalizadas.

Artículos