Como automatizar procesos de Databricks con DataFactory

Cada día se hace más necesario la manipulación y procesamiento de datos, desde las empresas más pequeñas hasta las mega-empresas donde el objetivo es simplemente aumentar la producción y obviamente obtener más ingresos. Azure una herramienta muy poderosa para el procesamiento de datos, llamada Azure Databricks.

Azure Databricks permite un análisis de macro-datos rápido y sencillo donde está asociado con Apache Spark y puede ejecutar lenguajes como Python y Scala lo que quiere decir, se puede hacer modelos de machine learning además de muchos análisis estadísticos. Además de que te permite crear notebooks asociándoles un clúster encargado de proporcionar la memoria de procesamiento, aquí es donde surge una incógnita de cómo se pueden ejecutar todos estos notebooks (además de sus celdas) de manera automática para por ejemplo procesos que requieren ser ejecutados de acuerdo a una fecha o una hora especifica.

Afortunadamente Azure nos ofrece una herramienta llamada Datafactory, la cual sirve para automatizar procesos en este caso Databricks de una manera muy sencilla simplemente siguiendo sequencialmente los siguientes items:

¡NOTA!: Este ejemplo parte del hecho de que ya está construido el Databricks y el Datafactory.

  • Generar el token para el entorno de databricks

  • Crear un pipeline dentro del Datafactory para poder crear las actividades dentro de este

  • Cree la actividad para conectar databricks

  • Este item se divide en mas subsecciones:

    • Dar nombre a nuestra actividad: En la subsección de General están los campos para definir un nombre
    • Crear un servicio de unión entre Datafactory y Databricks : Dar click en la pestaña Azure Databricks, a continuación, dar click en new una vez que se da click en new, se desplegara una nueva pestaña donde va a pedir los siguientes campos obligatorios:
    • Name: nombre la unión.
    • Connect via integration service:Seleccionar "AutoResolveIntegrationRuntime"
    • Account selection method: Seleccionar Enter manually
    • Domain/Region: Se debe completar el campo mediante https://[regiondetudatabricks].azuredatabricks.net Seleccionar Access token:Para este campo es necesario crear un toquen de seguridad en tu Databricks que va a servir como la clave de acceso que tendrá la actividad para acceder a Databricks, dentro del campo Access Toquen ingresar el código generado en el primer item.
    • Select cluster: Seleccionar "Existing interactive cluster", con el toquen ingresado debe aparecer el cluster que se tiene en Databricks, el cual se debe seleccionar, finalmente click en apply. La pestaña que se desplegara se vera como la siguiente imagen.
    • Encontrar el notebook: Dentro de la pestaña Settings dar click en el botón de “browse” y buscar el notebook de interés y seleccionarlo.
  • Por ultimo se debe guardar el proyecto, para esto se debe dar click en publish all dentro de el entorno de Datafactory y esta listo para ejecutarlo mediante el botón "debug."

Para comprobar si se ha ejecutado correctamente, se puede verificar abriendo el notebook en el Databricks donde se puede ver claramente cómo se ejecuta todo el código de manera automática. Es importante tener en cuenta que, si el cluster del Databricks está apagado, entonces puede tomar cierto tiempo en ejecutar como tal el notebook, aunque no tomara más de cinco minutos. Tambien se puede agregar un trigger a el proyecto de Datafactory para que se ejecute automaticamente de acuerdo a un evento que se de como por ejemplo a la hora especifica de un dia, o un determinado dia en la semana, etc.

comments powered by Disqus