Descripción general de Cloud Composer

Cloud Composer 1 | Cloud Composer 2

Cloud Composer es un servicio de organización de flujos de trabajo completamente administrado que te permite crear, programar, supervisar y administrar canalizaciones de flujos de trabajo que se distribuyen en nubes y centros de datos locales.

Cloud Composer se basa en el popular proyecto de código abierto Apache Airflow y opera con el lenguaje de programación Python.

Mediante el uso de Cloud Composer en lugar de una instancia local de Apache Airflow, puedes beneficiarte de lo mejor de Airflow sin una sobrecarga de instalación o administración. Cloud Composer te ayuda a crear entornos de Airflow administrados con rapidez y a usar herramientas nativas de Airflow, como la potente interfaz web y las herramientas de línea de comandos de Airflow, para que puedas enfocarte en los flujos de trabajo y no en la infraestructura.

Apache Airflow y Cloud Composer

Flujos de trabajo, DAG y tareas

En las estadísticas de datos, un flujo de trabajo representa una serie de tareas para transferir, transformar, analizar o usar datos. En Airflow, los flujos de trabajo se crean mediante los DAG o “grafos acíclicos dirigidos”.

Relación entre los DAG y las tareas
Figura 1. Relación entre los DAG y las tareas

Un DAG es una colección de tareas que deseas programar y ejecutar, organizadas, de manera que reflejen sus relaciones y dependencias. Los DAG se crean en secuencias de comandos de Python, que definen la estructura del DAG (tareas y sus dependencias) mediante el código.

Cada tarea en un DAG puede representar casi todo. Por ejemplo, una tarea puede realizar cualquiera de las siguientes funciones:

  • Prepara datos para la transferencia
  • Supervisa una API
  • Envía un correo electrónico
  • Ejecuta una canalización

Un DAG no debería preocuparse por la función de cada tarea constituyente, su propósito es garantizar que cada tarea se ejecute en el momento correcto, en el orden adecuado o con el control correcto de problemas.

Flujos de trabajo, DAG y tareas de Airflow

Para obtener más información sobre los DAG y las tareas, consulta la documentación de Apache Airflow.

Entornos de Cloud Composer

Para ejecutar flujos de trabajo, primero debes crear un entorno. Airflow depende de muchos microservicios que se ejecuten, por lo que Cloud Composer aprovisiona componentes de Google Cloud para ejecutar tus flujos de trabajo. En conjunto, estos componentes se conocen como un entorno de Cloud Composer.

Los entornos son implementaciones autónomas de Airflow basadas en Google Kubernetes Engine. Funcionan con otros servicios de Google Cloud mediante conectores integrados en Airflow. Puedes crear uno o más entornos en un solo proyecto de Google Cloud. Puedes crear entornos de Cloud Composer en cualquier región compatible.

Para obtener una descripción detallada de los componentes de un entorno, consulta la arquitectura del entorno de Cloud Composer.

Funciones de Cloud Composer

Cuando usas Cloud Composer, puedes administrar y usar funciones como las siguientes:

  • Entornos de Airflow
  • Administración de Airflow
  • Configuración de Airflow
  • DAG de Airflow (flujos de trabajo)
  • Complementos personalizados de Apache

Para obtener información sobre cómo funciona Cloud Composer con las funciones de Airflow, como los DAG de Airflow, los parámetros de configuración de Airflow, los complementos personalizados y las dependencias de Python, consulta Funciones de Cloud Composer.

Preguntas frecuentes

¿Qué versión de Apache Airflow usa Cloud Composer?

Cloud Composer es compatible con Airflow 1 y Airflow 2.

Los entornos de Cloud Composer se basan en imágenes de Cloud Composer. Cuando creas un entorno, puedes seleccionar una imagen con una versión específica de Airflow.

Tienes el control de la versión de Apache Airflow de tu entorno. Puedes decidir actualizar tu entorno a una versión más reciente de la imagen de Cloud Composer. Cada versión de Cloud Composer es compatible con varias versiones de Apache Airflow.

¿Puedo usar la IU y la CLI nativas de Airflow?

Puedes acceder a la interfaz web de Apache Airflow de tu entorno. Cada uno de los entornos tiene su propia IU de Airflow. Para obtener más información sobre cómo acceder a la IU de Airflow, consulta la interfaz web de Airflow.

Para ejecutar comandos de la CLI de Airflow en tus entornos, usa comandos gcloud. Para obtener más información sobre cómo ejecutar comandos de la CLI de Airflow en entornos de Cloud Composer, consulta Interfaz de línea de comandos de Airflow.

¿Puedo usar mi propia base de datos como la base de datos de metadatos de Airflow?

Cloud Composer usa un servicio de base de datos administrado para la base de datos de metadatos de Airflow. No es posible usar una base de datos proporcionada por el usuario como la base de datos de metadatos de Airflow.

¿Puedo usar mi propio clúster como clúster de Cloud Composer?

Cloud Composer usa el servicio de Google Kubernetes Engine para crear, administrar y borrar clústeres del entorno en los que se ejecutan los componentes de Airflow. Cloud Composer administra estos clústeres por completo.

No es posible compilar un entorno de Cloud Composer en función de un clúster autoadministrado de Google Kubernetes Engine.

¿Puedo usar mi propio Container Registry?

Cloud Composer usa el servicio de Artifact Registry para administrar los repositorios de imágenes de contenedor que usan los entornos de Cloud Composer. No se puede reemplazar con un registro de contenedores proporcionado por el usuario.

¿Los entornos de Cloud Composer son zonales o regionales?

Los entornos de Cloud Composer 1 son zonales.

Los entornos de Cloud Composer 2 tienen una base de datos de metadatos de Airflow zonal y una capa regional de programación y ejecución de Airflow. Los programadores, trabajadores y servidores web de Airflow se ejecutan en la capa de ejecución de Airflow.

¿Qué sigue?