Introducción

En este módulo, aprenderás cómo ejecutar Apache Spark en Microsoft Azure. Azure es una plataforma de computación en la nube que ofrece una variedad de servicios, incluyendo Azure Databricks, que es una plataforma de análisis de datos basada en Apache Spark. Este módulo cubrirá los siguientes temas:

  1. Configuración de Azure Databricks
  2. Creación de un Clúster de Spark en Azure
  3. Desarrollo y Ejecución de Aplicaciones Spark en Azure
  4. Monitoreo y Optimización de Trabajos Spark en Azure

  1. Configuración de Azure Databricks

Paso 1: Crear una Cuenta de Azure

Si aún no tienes una cuenta de Azure, sigue estos pasos para crear una:

  1. Visita el sitio web de Azure.
  2. Haz clic en "Comenzar gratis" y sigue las instrucciones para registrarte.

Paso 2: Crear un Workspace de Azure Databricks

  1. Inicia sesión en el portal de Azure.
  2. En el menú de la izquierda, selecciona "Crear un recurso".
  3. Busca "Azure Databricks" y selecciona "Crear".
  4. Completa los detalles del workspace:
    • Nombre del workspace: Elige un nombre único.
    • Suscripción: Selecciona tu suscripción de Azure.
    • Grupo de recursos: Crea un nuevo grupo de recursos o selecciona uno existente.
    • Ubicación: Selecciona la región más cercana a ti.
  5. Haz clic en "Revisar + crear" y luego en "Crear".

  1. Creación de un Clúster de Spark en Azure

Paso 1: Acceder al Workspace de Azure Databricks

  1. En el portal de Azure, navega a tu nuevo workspace de Azure Databricks.
  2. Haz clic en "Iniciar Workspace".

Paso 2: Crear un Clúster

  1. En el portal de Azure Databricks, selecciona "Clústeres" en el menú de la izquierda.
  2. Haz clic en "Crear Clúster".
  3. Completa los detalles del clúster:
    • Nombre del clúster: Elige un nombre descriptivo.
    • Versión de Databricks Runtime: Selecciona la versión de Spark que deseas usar.
    • Tipo de clúster: Selecciona "Standard".
    • Configuración de nodos: Elige el número y tipo de nodos de trabajo.
  4. Haz clic en "Crear Clúster".

  1. Desarrollo y Ejecución de Aplicaciones Spark en Azure

Paso 1: Crear un Notebook

  1. En el portal de Azure Databricks, selecciona "Workspaces" en el menú de la izquierda.
  2. Haz clic en el botón "Crear" y selecciona "Notebook".
  3. Completa los detalles del notebook:
    • Nombre: Elige un nombre para tu notebook.
    • Lenguaje: Selecciona el lenguaje de programación (Scala, Python, SQL, R).
  4. Haz clic en "Crear".

Paso 2: Escribir y Ejecutar Código Spark

A continuación, se muestra un ejemplo de código en Python para contar las palabras en un archivo de texto:

# Cargar el archivo de texto en un RDD
text_file = sc.textFile("/databricks-datasets/samples/docs/README.md")

# Contar las palabras
word_counts = text_file.flatMap(lambda line: line.split(" ")) \
                       .map(lambda word: (word, 1)) \
                       .reduceByKey(lambda a, b: a + b)

# Mostrar los resultados
word_counts.collect()

Explicación del Código

  1. Cargar el archivo de texto: sc.textFile carga el archivo de texto en un RDD.
  2. Contar las palabras:
    • flatMap divide cada línea en palabras.
    • map crea un par (palabra, 1) para cada palabra.
    • reduceByKey suma los valores para cada palabra.
  3. Mostrar los resultados: collect devuelve los resultados al driver.

  1. Monitoreo y Optimización de Trabajos Spark en Azure

Monitoreo de Trabajos

  1. En el portal de Azure Databricks, selecciona "Trabajos" en el menú de la izquierda.
  2. Aquí puedes ver el estado de tus trabajos, incluyendo el tiempo de ejecución y los recursos utilizados.

Optimización de Trabajos

  1. Caché y Persistencia: Usa persist y cache para almacenar RDDs en memoria y mejorar el rendimiento.
  2. Particiones: Ajusta el número de particiones para equilibrar la carga de trabajo.
  3. Configuración del Clúster: Ajusta la configuración del clúster para optimizar el uso de recursos.

Conclusión

En este módulo, has aprendido cómo ejecutar Apache Spark en Azure utilizando Azure Databricks. Has configurado un workspace, creado un clúster, desarrollado y ejecutado aplicaciones Spark, y monitoreado y optimizado tus trabajos. Con estos conocimientos, estás listo para aprovechar la potencia de Apache Spark en la nube de Azure.

Ejercicio Práctico

Ejercicio: Crea un notebook en Azure Databricks y escribe un programa en Python que lea un archivo CSV, realice algunas transformaciones y guarde los resultados en un nuevo archivo CSV.

Solución:

# Cargar el archivo CSV en un DataFrame
df = spark.read.csv("/databricks-datasets/samples/population-vs-price/data_geo.csv", header=True, inferSchema=True)

# Realizar algunas transformaciones
df_filtered = df.filter(df['2014 Population estimate'] > 1000000)
df_selected = df_filtered.select("Region", "2014 Population estimate", "2015 median sales price")

# Guardar los resultados en un nuevo archivo CSV
df_selected.write.csv("/tmp/filtered_population_vs_price.csv", header=True)

Explicación del Código

  1. Cargar el archivo CSV: spark.read.csv carga el archivo CSV en un DataFrame.
  2. Filtrar los datos: filter selecciona las filas donde la población estimada en 2014 es mayor a 1,000,000.
  3. Seleccionar columnas: select elige las columnas relevantes.
  4. Guardar los resultados: write.csv guarda el DataFrame resultante en un nuevo archivo CSV.

Con esto, has completado el módulo sobre cómo ejecutar Spark en Azure. ¡Felicidades!

© Copyright 2024. Todos los derechos reservados