10z21jjjyg3ynyafrwbm6gq.jpeg

La forma en que recupera variables de Airflow puede afectar el rendimiento de sus DAG

Foto por Daniele Franchi en desempaquetar

¿Qué sucede si varias canalizaciones de datos necesitan interactuar con el mismo punto final de API? ¿Realmente tendría que declarar este punto final en cada canalización? En caso de que este punto final cambie en un futuro próximo, deberá actualizar su valor en cada archivo.

Las variables de flujo de aire son construcciones simples pero valiosas que se utilizan para evitar declaraciones redundantes en varios DAG. Son simplemente objetos que constan de una clave y un valor serializable JSON, almacenados en la base de datos de metadatos de Airflow.

¿Y si tu código utiliza tokens u otro tipo de secretos? Codificarlos en texto plano no parece ser un enfoque seguro. Más allá de reducir la repetición, las variables de Airflow también ayudan a gestionar información confidencial. Con seis formas diferentes de definir variables en Airflow, seleccionar el método apropiado es crucial para garantizar la seguridad y la portabilidad.

Un aspecto que a menudo se pasa por alto es el impacto que tiene la recuperación variable en el rendimiento del flujo de aire. Potencialmente, puede sobrecargar la base de datos de metadatos con solicitudes cada vez que el Programador analiza los archivos DAG (el valor predeterminado es treinta segundos).

Es bastante fácil caer en esta trampa, a menos que comprenda cómo el Programador analiza los DAG y cómo se recuperan las variables de la base de datos.

Antes de entrar en la discusión sobre cómo se obtienen las variables del metastore y qué mejores prácticas aplicar para optimizar los DAG, es importante entender bien los conceptos básicos. Por ahora, centrémonos en cómo podemos declarar variables en Airflow.

Como ya se mencionó, hay varias formas diferentes de declarar variables en Airflow. Algunos de ellos resultan ser más seguros y portátiles que otros, así que examinémoslos todos e intentemos comprender sus ventajas y desventajas.

1. Crear una variable desde la interfaz de usuario

En este primer enfoque, crearemos una variable a través de la interfaz de usuario. En el menú superior seleccione AdminVariables+