Microsoft Azure Databricks y Data Factory son dos servicios basados en la nube que desempeñan un papel crucial en la integración de datos y los procesos ETL (Extract, Transform y Load). Estos servicios son capaces de gestionar varios formatos de datos, incluyendo datos por lotes, en streaming y estructurados/no estructurados. En este artículo, exploraremos los conceptos de Azure Databricks y Data Factory y entenderemos cómo se pueden utilizar juntos para realizar tareas de transformación y migración de datos.
¿Qué es Azure Databricks?
Azure Databricks es una plataforma de análisis construida sobre Apache Spark y alojada en Microsoft Azure. Permite a los usuarios procesar y analizar grandes volúmenes de datos, facilitando la colaboración entre científicos de datos, ingenieros de datos y analistas de negocios. Con Azure Databricks, las organizaciones pueden abrir “lake houses” y procesar grandes cantidades de datos para obtener información significativa.
¿Qué es Azure Data Factory?
Azure Data Factory (ADF) es una solución basada en la nube para orquestar la transferencia de datos y los procedimientos ETL. Permite a los usuarios gestionar la integración de datos a gran escala y ejecutar procesos ETL. Con ADF, los datos se pueden ingresar en grandes cantidades, transformar y cargar en bases de datos en la nube o en local.
Integración de Azure Databricks y Data Factory
Para realizar todo el proceso ELT (Extract, Load, Transform) y cargar los datos transformados en una base de datos, se pueden utilizar Azure Databricks y Data Factory juntos. Los siguientes pasos describen la arquitectura del proyecto:
- Montar Azure SQL y Azure Data Lake Gen2 en Azure Databricks.
- Escribir código de transformación en PySpark en Azure Databricks.
- Crear un disparador para activar el proceso ETL de Azure Databricks desde Azure Data Factory.
Comprendiendo Databricks
Databricks es una plataforma basada en la nube que combina análisis de datos, ingeniería de datos y aprendizaje automático. Permite a los usuarios procesar y analizar grandes cantidades de datos y facilita la colaboración entre ingenieros, analistas de negocios y científicos de datos. Construido sobre infraestructura de computación en la nube distribuida como Azure, AWS o Google Cloud, Databricks se puede integrar con otras plataformas en la nube para gestionar datos y ejecutar tareas de aprendizaje automático.
Creando Azure Databricks
Para trabajar con Azure Databricks, se requiere una suscripción activa de Azure. Los siguientes pasos describen el proceso de creación de Azure Databricks:
- Crear un grupo de recursos en el portal de Azure para contener todos los recursos necesarios para el proyecto.
- En el portal de Azure, buscar “databricks” en la barra de búsqueda de recursos, servicios y documentación.
- Seleccionar Azure Databricks de la lista de recursos.
- Hacer clic en “+ Crear” para abrir una nueva ventana y proporcionar la información necesaria.
- Completar toda la información requerida, incluyendo la suscripción, el grupo de recursos, el nombre del espacio de trabajo y el nivel de precios.
- Hacer clic en “Revisar + Crear” y esperar a que se complete el proceso de validación.
- Una vez que la validación sea exitosa, hacer clic en “Ir al recurso” para acceder al entorno de Azure Databricks.
- En el recurso de Azure Databricks, hacer clic en “Iniciar espacio de trabajo” para ingresar al entorno de Azure Databricks.
Clústeres de Databricks
Los clústeres de Databricks son conjuntos de recursos de cómputo y configuraciones utilizados para ejecutar diversas cargas de trabajo, como tuberías ELT, análisis en tiempo real, análisis ad hoc y aprendizaje automático. Hay dos tipos de clústeres admitidos en Databricks:
- Clústeres de Uso General: Estos clústeres se utilizan en cuadernos interactivos para el análisis de datos en grupo. Se pueden crear utilizando la CLI, la interfaz de usuario o la API REST.
- Clústeres de Trabajo: Estos clústeres se utilizan para tareas automatizadas rápidas y confiables. Se generan cuando se realiza un trabajo en un clúster de trabajo y se terminan cuando el trabajo finaliza.
Montar Azure Data Lake Gen2 en Azure Databricks
Para montar Azure Data Lake Gen2 en Databricks, se deben completar los siguientes pasos:
- Crear un Azure Service Principal y otorgar acceso a Azure Data Lake para el Service Principal.
- Crear el montaje en Databricks utilizando el Service Principal.
Transformación de Datos en Databricks utilizando PySpark
La transformación de datos implica procesar y transformar los datos en el formato deseado. En Azure Databricks, se utiliza PySpark para las tareas de transformación de datos. Los siguientes pasos describen el proceso de transformación de datos utilizando PySpark:
- Leer datos desde el punto de montaje en Azure Databricks.
- Realizar análisis exploratorio de datos para comprender los datos.
- Realizar cálculos y crear nuevas columnas utilizando funciones de PySpark.
- Agregar datos utilizando las funciones groupBy y aggregate.
Migrar Datos Transformados a Azure SQL Database
Una vez que los datos se han transformado, se pueden migrar a una base de datos de Azure SQL para su análisis posterior. Los siguientes pasos describen el proceso de creación de una base de datos de Azure SQL y la migración de los datos transformados:
- Crear una base de datos de Azure SQL en el portal de Azure.
- Escribir la consulta SQL necesaria para crear una tabla en la base de datos de Azure SQL.
- Escribir los datos transformados en la base de datos de Azure SQL utilizando los detalles de conexión adecuados.
Activando la Tubería de Databricks en Azure Data Factory
Azure Data Factory se puede utilizar para activar las tuberías de Databricks y automatizar el proceso ETL. Los siguientes pasos describen el proceso de activación de una tubería de Databricks en Azure Data Factory:
- Generar un token de acceso de Azure Databricks.
- Crear un servicio vinculado de Azure Databricks en Azure Data Factory.
- Crear una actividad de tubería en Azure Data Factory y configurar los ajustes necesarios.
- Publicar la tubería en Azure Data Factory.
- Depurar y probar la tubería para asegurar su ejecución exitosa.
Automatizando la Tubería
Para automatizar el proceso ETL, se puede crear un disparador de eventos de almacenamiento en Azure Data Factory. Este disparador activa todo el proceso ETL cada vez que se carga datos en el almacenamiento de Azure Data Lake Gen2. Los siguientes pasos describen el proceso de automatización de la tubería:
- Truncar la tabla de datos en Azure SQL para eliminar los datos existentes.
- Crear un disparador de eventos de almacenamiento en Azure Data Factory.
- Cargar datos en el almacenamiento de Azure Data Lake Gen2 para activar la tubería.
- Monitorear la ejecución de la tubería en Azure Data Factory.
- Verificar los datos migrados en la base de datos de Azure SQL.
Conclusión
En este artículo, exploramos los conceptos de Azure Databricks y Data Factory y entendimos cómo se pueden utilizar juntos para realizar tareas de transformación y migración de datos. Aprendimos sobre la integración de Azure Databricks y Data Factory, el proceso de montar Azure Data Lake Gen2 en Azure Databricks, la transformación de datos utilizando PySpark, la migración de datos transformados a Azure SQL Database, la activación de tuberías de Databricks en Azure Data Factory y la automatización de la tubería utilizando disparadores de eventos de almacenamiento. Al aprovechar estas poderosas herramientas y servicios, las organizaciones pueden gestionar eficientemente su integración de datos y procesos ETL en SQL Server.
Última actualización del artículo: 2023-03-24