Ejecute flujos de trabajo de Airflow con ModelOps - Model Factory Solution Accelerator
Información general
El objetivo de Model Factory Solution Accelerator de ClearScape Analytics es optimizar y acelerar el proceso completo de desarrollo, implementación y gestión de modelos de aprendizaje automático dentro de una organización en Escala horizontal mediante la puesta en funcionamiento de cientos de modelos para un dominio empresarial, todo a la vez. Aprovecha la escalabilidad de las analíticas en bases de datos y la apertura de los formatos de modelos de socios compatibles, como H2O o Dataiku. Esta combinación única mejora la eficacia, la escalabilidad y la coherencia en las distintas fases del ciclo de vida del aprendizaje automático en entornos empresariales.
Mediante la incorporación de prácticas recomendadas, automatización y flujos de trabajo estandarizados, Model Factory Solution Accelerator permite a los equipos seleccionar rápidamente los datos que se utilizarán, configurar el modelo requerido, garantizar la repetitividad e implementar múltiples modelos de ilimitado directamente en entornos de producción. En última instancia, tiene como objetivo reducir el tiempo de generación de valor para las iniciativas de aprendizaje automático y promover un enfoque más estructurado y eficiente para crear e implementar modelos a escala. Aquí se muestra el diagrama de un flujo de trabajo automatizado:
Estos son los pasos para implementar Model Factory Solution Accelerator con Airflow y ClearScape Analytics ModelOps. Apache Airflow se utiliza para la programación y organización de flujos de trabajo o canalizaciones de datos. Por lo tanto, en este tutorial, estamos creando un DAG (gráfico acíclico dirigido) de Airflow que se ejecutará para automatizar el ciclo de vida de ModelOps.
Prerrequisitos
- En este tutorial se implementa en la máquina local utilizando el IDE de Visual Studio Code.
Para ejecutar comandos de shell, puede instalar la extensión de VS Code "Remote Development" mediante el enlace siguiente. Este paquete de extensión incluye la extensión WSL, además de las extensiones Remote - SSH y Dev Containers, para que pueda abrir cualquier carpeta en un contenedor, en una máquina remota o en WSL: Marketplace de VS Code.
- Acceso a una instancia de Teradata Vantage con ClearScape Analytics (incluye ModelOps)
Si necesita una instancia de prueba de Vantage, puede obtener una de forma gratuita en https://clearscape.teradata.com
Configuración de Visual Studio Code e instalación de Airflow en docker-compose
-
Abra Visual Studio Code y seleccione la opción Abrir una ventana remota. Luego seleccione Conectarse a WSL-Ubuntu
-
Seleccione Archivo > Abrir carpeta. A continuación, seleccione la carpeta elegida o cree una nueva con este comando: mkdir [folder_name]
-
Configure la variable de entorno AIRFLOW_HOME. Airflow requiere un directorio de inicio y usa ~/airflow de forma predeterminada, pero puede establecer una ubicación diferente si lo prefiere. La variable de entorno AIRFLOW_HOME se utiliza para informar a Airflow de la ubicación deseada.
- Instale la versión estable 2.8.2 de apache-airflow desde el repositorio de PyPI:
- Instale la versión estable del proveedor Airflow Teradata desde el repositorio PyPI.
-
Instale Docker Desktop para poder usar el contenedor Docker para ejecutar Airflow. Asegúrese de que Docker Desktop esté en ejecución.
-
Compruebe la versión de Docker mediante este comando:
Compruebe la versión de Docker Compose. Docker Compose es una herramienta para definir y ejecutar aplicaciones multicontenedor
Para implementar Airflow en Docker Compose, debe obtener docker-compose.yaml mediante este comando curl.
Cree estas carpetas para usarlas más tarde mediante el siguiente comando:
Configuración de Model Factory Solution Accelerator
Cree un archivo de configuración dentro de la carpeta de configuración y establezca los parámetros con los valores correspondientes según el modelo que quiera entrenar.
Haga clic para revelar el código Python
Ahora copie el token Bearer desde la interfaz de usuario de ModelOps (Menú izquierdo -> Su cuenta -> Detalles de la sesión) y configúrelo aquí como una variable de entorno mediante el siguiente comando:
Ahora puede ejecutar el archivo de configuración creado previamente, lo cual creará un nuevo archivo ini dentro de la carpeta de configuración que contiene todos los parámetros necesarios que se utilizarán en el paso de creación de DAG.
Crear un DAG de Airflow que contenga el ciclo de vida completo de ModelOps
Ahora puede crear un DAG con el siguiente código de Python. Agregue este archivo de código de Python dentro de la carpeta dags. Este DAG contiene 5 tareas del ciclo de vida de ModelOps (es decir, entrenar, evaluar, aprobar, implementar y retirar)
Haga clic para revelar el código Python
Inicializar Airflow en Docker Compose
Al inicializar los servicios de Airflow, como la base de datos interna de Airflow, para sistemas operativos distintos de Linux, es posible que reciba una advertencia de que AIRFLOW_UID no está configurado, pero puede ignorarla con seguridad configurando su variable de entorno mediante el siguiente comando.
Para ejecutar migraciones de bases de datos internas y crear la primera cuenta de usuario, inicialice la base de datos mediante este comando:
Una vez completada la inicialización, deber ver un mensaje parecido a este:
Limpiar el entorno de demostración de Airflow
Puede limpiar el entorno que eliminará los DAG de ejemplo precargados mediante este comando:
Posteriormente, actualice este parámetro en el archivo docker-compose.yaml como se indica a continuación:
Iniciar Airflow con Model Factory Solution Accelerator
Inicie Airflow mediante este comando:
Ejecute DAG de Airflow de Model Factory Solution con ModelOps
- Ya puede acceder a la interfaz de usuario de Airflow mediante la dirección http://localhost:8080/
- Inicie sesión con el nombre de usuario: airflow y la contraseña: airflow. En el menú de DAG podrá ver los DAG que ha creado.
- Seleccione su último DAG creado y el gráfico tendrá un aspecto similar al siguiente:
-
Ahora puede activar el DAG usando el icono de reproducción en la parte superior derecha.
-
Puede consultar los registros seleccionando cualquier tarea y posteriormente haciendo clic en el menú de registros:
-
En la sección Trabajos de ModelOps de ClearScape Analytics puede ver que los trabajos han empezado a ejecutarse:
- Ahora puede ver que todas las tareas se ejecutaron correctamente.
Resumen
Este tutorial tiene como objetivo proporcionar un ejercicio práctico sobre cómo instalar un entorno Airflow en un servidor Linux y cómo utilizar Airflow para interactuar con una base de datos Teradata Vantage. Se proporciona un ejemplo adicional sobre cómo integrar Airflow y la herramienta de modelado y mantenimiento de datos dbt para crear y cargar una base de datos Teradata Vantage.