Ejecutar un DAG de Apache Airflow en Cloud Composer 3
Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta guía de inicio rápido se muestra cómo crear un entorno de Cloud Composer y ejecutar un DAG de Apache Airflow en Cloud Composer 3.
Si no tienes experiencia con Airflow, consulta el tutorial sobre conceptos de Airflow en la documentación de Apache Airflow para obtener más información sobre los conceptos y objetos de Airflow, así como sobre su uso.
Si quieres usar la CLI de Google Cloud, consulta el artículo Ejecutar un DAG de Apache Airflow en Cloud Composer (CLI de Google Cloud).
Si quieres crear un entorno con Terraform, consulta el artículo Crear entornos (Terraform).
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Composer API.
-
Para obtener los permisos que necesitas para completar esta guía de inicio rápido, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto:
-
Para ver, crear y gestionar el entorno de Cloud Composer, haz lo siguiente:
-
Administrador de objetos de entorno y almacenamiento (
roles/composer.environmentAndStorageObjectAdmin
) -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
)
-
Administrador de objetos de entorno y almacenamiento (
-
Para ver los registros, sigue estos pasos:
Visualizador de registros (
roles/logging.viewer
)
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
-
Para ver, crear y gestionar el entorno de Cloud Composer, haz lo siguiente:
Crea una cuenta de servicio, tal como se describe en la documentación de gestión de identidades y accesos.
Asigna un rol, tal como se describe en la documentación de Gestión de Identidades y Accesos. El rol necesario es Trabajador de Composer (
composer.worker
).En la Google Cloud consola, ve a la página Crear entorno.
En el campo Name (Nombre), introduce
example-environment
.En la lista desplegable Ubicación, selecciona una región para el entorno de Cloud Composer. En esta guía se usa la región
us-central1
.Para ver otras opciones de configuración del entorno, usa los valores predeterminados proporcionados.
Haz clic en Crear y espera a que se cree el entorno.
Cuando termine, aparecerá una marca de verificación verde junto al nombre del entorno.
- Crea un DAG,
composer_sample_dag
. Este DAG se ejecuta todos los días. - Ejecuta una tarea,
print_dag_run_conf
. La tarea imprime la configuración de la ejecución del DAG mediante el operador bash. En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del entorno.
example-environment
Se abrirá la página Detalles del entorno.Haz clic en Abrir carpeta de DAGs. Se abrirá la página Detalles del segmento.
Haz clic en Subir archivos y, a continuación, selecciona tu copia de
quickstart.py
.Para subir el archivo, haz clic en Abrir.
- Analiza el archivo DAG que has subido. El DAG puede tardar unos minutos en estar disponible en Airflow.
- Añade el DAG a la lista de DAGs disponibles.
- Ejecuta el DAG según la programación que hayas indicado en el archivo DAG.
Espera unos cinco minutos para que Airflow procese el archivo DAG que has subido anteriormente y para que se complete la primera ejecución del DAG (se explica más adelante).
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del entorno.
example-environment
Se abrirá la página Detalles del entorno.Ve a la pestaña DAGs.
Comprueba que el
composer_quickstart
DAG esté presente en la lista de DAGs.Imagen 1. La lista de DAGs muestra el DAG composer_quickstart (haz clic para ampliarlo). En la pestaña DAGs, haga clic en
composer_quickstart
. Se abre la pestaña Ejecuciones del DAG.En la lista de ejecuciones de DAG, haz clic en la primera entrada.
Imagen 2. Lista de ejecuciones del DAG composer_quickstart (haz clic para ampliar) Se muestran los detalles de la ejecución del DAG, que incluyen información sobre las tareas individuales del DAG de ejemplo.
Imagen 3. Lista de tareas que se han ejecutado en la ejecución del DAG (haz clic para ampliar) En la sección Registros de la ejecución del DAG se muestran los registros de todas las tareas de la ejecución del DAG. Puedes ver el resultado del comando
echo
en los registros.Imagen 4. Registros de la tarea print_dag_run_conf (haz clic para ampliar) Elimina el entorno de Cloud Composer:
En la Google Cloud consola, ve a la página Entornos.
Selecciona
example-environment
y haz clic en Eliminar.Espera a que se elimine el entorno.
Elimina el segmento de tu entorno. Si eliminas el entorno de Cloud Composer, no se elimina su segmento.
En la Google Cloud consola, ve a la página Almacenamiento > Navegador.
Selecciona el contenedor del entorno y haz clic en Eliminar. Por ejemplo, este contenedor se puede llamar
us-central1-example-environ-c1616fe8-bucket
.
Crear una cuenta de servicio de un entorno
Cuando creas un entorno, especificas una cuenta de servicio. Esta cuenta de servicio se llama cuenta de servicio del entorno. Tu entorno usa esta cuenta de servicio para realizar la mayoría de las operaciones.
La cuenta de servicio de tu entorno no es una cuenta de usuario. Una cuenta de servicio es un tipo especial de cuenta que usan las aplicaciones o las instancias de máquinas virtuales (VMs), no las personas.
Para crear una cuenta de servicio para tu entorno, sigue estos pasos:
Crear entorno
Crear un archivo DAG
Un DAG de Airflow es una colección de tareas organizadas que quieres programar y ejecutar. Los DAGs se definen en archivos Python estándar.
En esta guía se usa un ejemplo de DAG de Airflow definido en el archivo quickstart.py
.
El código Python de este archivo hace lo siguiente:
Guarda una copia del archivo quickstart.py
en tu máquina local:
Subir el archivo DAG al segmento de tu entorno
Cada entorno de Cloud Composer tiene un bucket de Cloud Storage asociado. Airflow en Cloud Composer solo programa los DAGs que se encuentran en la carpeta /dags
de este bucket.
Para programar tu DAG, sube quickstart.py
desde tu máquina local a la carpeta /dags
de tu entorno:
Ver el DAG
Después de subir el archivo DAG, Airflow hace lo siguiente:
Comprueba que tu DAG se procese sin errores y que esté disponible en Airflow. Para ello, míralo en la interfaz de usuario de DAG. La interfaz de usuario de DAGs es la interfaz de Cloud Composer para ver información de los DAGs en la consola. Google Cloud Cloud Composer también proporciona acceso a la interfaz de usuario de Airflow, que es una interfaz web nativa de Airflow.
Ver los detalles de una ejecución de DAG
Una sola ejecución de un DAG se denomina ejecución de DAG. Airflow ejecuta inmediatamente una ejecución de DAG para el DAG de ejemplo porque la fecha de inicio del archivo DAG es ayer. De esta forma, Airflow se pone al día con la programación del DAG especificado.
El DAG de ejemplo contiene una tarea, print_dag_run_conf
, que ejecuta el comando echo
en la consola. Este comando muestra metainformación sobre el DAG (identificador numérico de la ejecución del DAG).
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.
Elimina los recursos que has usado en este tutorial:
Siguientes pasos