{"id":111278,"date":"2021-10-21T15:40:38","date_gmt":"2021-10-21T14:40:38","guid":{"rendered":"https:\/\/multi.liora.io\/?p=111278"},"modified":"2026-02-24T16:45:43","modified_gmt":"2026-02-24T15:45:43","slug":"todo-sobre-apache-airflow","status":"publish","type":"post","link":"https:\/\/liora.io\/es\/todo-sobre-apache-airflow","title":{"rendered":"Apache Airflow"},"content":{"rendered":"\n<p><strong>Apache Airflow es una plataforma de planificaci\u00f3n de flujos de trabajo de c\u00f3digo abierto ampliamente utilizada en ingenier\u00eda de datos. Descubre todo lo que necesitas saber sobre esta herramienta del Data Engineer: funcionamiento, casos de uso, componentes principales, etc.<\/strong><\/p>\n\n\n\n<p>La historia de Apache Airflow comienza <b>en 2015, en las oficinas de AirBnB<\/b>. En ese momento, la plataforma de alquileres vacacionales fundada en 2008 experiment\u00f3 un enorme crecimiento y se estaba desmoronando bajo un volumen de datos cada vez mayor. La empresa con sede en California contrata Data Scientists, Data Analysts y Data Engineers sin parar, y estos \u00faltimos tienen que automatizar muchos procesos escribiendo batch jobs programados. Para apoyarlos, el Data Engineer <b>Maxime Beauchemin crea una herramienta de c\u00f3digo abierto<\/b> llamada Airflow.<\/p>\n\n\n\n<p>Esa herramienta de planificaci\u00f3n quiere permitir que los equipos creen, supervisen circuitos de datos por lotes y los repitan. En pocos a\u00f1os, Airflow se ha consolidado como <b>un est\u00e1ndar en el campo de la ingenier\u00eda de datos.<\/b> En abril de 2016, el proyecto se incorpor\u00f3 a <b>la incubadora oficial de la Fundaci\u00f3n Apache<\/b>. Continu\u00f3 desarroll\u00e1ndose y recibi\u00f3 el estatus de proyecto de \u00abm\u00e1xima categor\u00eda\u00bb en enero de 2019. Casi dos a\u00f1os despu\u00e9s, en diciembre de 2020, Airflow cuenta con m\u00e1s de 1400 contribuyentes, 11 230 contribuciones y 19 800 estrellas en <a href=\"\/\">Github<\/a>.<\/p>\n\n\n\n<p>La <b>versi\u00f3n Airflow 2.0<\/b> est\u00e1 disponible desde el 17 de diciembre de 2020 y trae nuevas funciones y muchas mejoras. Miles de Data Engineers utilizan esta herramienta en todo el mundo.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/formacion-data-engineer\">Iniciar una formaci\u00f3n de Data Engineer<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-que-es-apache-airflow\">\u00bfQu\u00e9 es Apache Airflow?<\/h2>\n\n\n\n<p>La plataforma Apache Airflow permite <b>la creaci\u00f3n, la planificaci\u00f3n y el seguimiento de flujos de trabajo<\/b> a trav\u00e9s de la programaci\u00f3n inform\u00e1tica. Es una soluci\u00f3n totalmente de c\u00f3digo abierto, muy \u00fatil para la arquitectura y la orquestaci\u00f3n de circuitos complejos de datos y para el lanzamiento de tareas.<\/p>\n\n\n\n<p>Tiene varias ventajas. En primer lugar, es una <b>plataforma din\u00e1mica<\/b>, ya que todo lo que se puede hacer con el c\u00f3digo Python, se puede hacer en Airflow. Tambi\u00e9n es <b>extensible, gracias a muchos plugins<\/b> que permiten la interacci\u00f3n con la mayor\u00eda de los sistemas externos m\u00e1s comunes. Tambi\u00e9n es posible crear nuevos plugins para satisfacer necesidades espec\u00edficas.<\/p>\n\n\n\n<p>Adem\u00e1s, Airflow aporta elasticidad. Los equipos de Data Engineers pueden usarla para realizar <b>miles de tareas diferentes a diario.<\/b> Los flujos de trabajo se estructuran y expresan <b>en forma de gr\u00e1ficos ac\u00edclicos dirigidos (DAG)<\/b>, con nodos que representan una tarea espec\u00edfica cada uno de ellos. Airflow est\u00e1 dise\u00f1ada como una plataforma \u00abcode first\u00bb, lo que permite repetir muy r\u00e1pidamente los flujos de trabajo. Esta filosof\u00eda ofrece un alto grado de escalabilidad en comparaci\u00f3n con otras herramientas de canalizaci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Airflow tutorial 1: Introduction to Apache Airflow\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/AHMm1wfGuHE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-para-que-se-utiliza-airflow\">\u00bfPara qu\u00e9 se utiliza Airflow?<\/h2>\n\n\n\n<p>Airflow se puede utilizar para <b>cualquier circuito de datos<\/b> por lotes, por lo que sus casos de uso son tantos como diversos. Debido a su extensibilidad, esta plataforma destaca particularmente para organizar tareas con dependencias complejas en m\u00faltiples sistemas externos. Al escribir circuitos en c\u00f3digo y utilizar los diversos plugins disponibles, se puede <b>integrar Airflow en cualquier sistema<\/b> dependiente desde una plataforma unificada para la gesti\u00f3n y la supervisi\u00f3n.<\/p>\n\n\n\n<p>Como ejemplo, se puede utilizar Airflow para a\u00f1adir las actualizaciones diarias de los equipos de ventas <b>de Salesforce<\/b> para enviar un informe diario a los ejecutivos de la empresa. Adem\u00e1s, la plataforma se puede utilizar para organizar y ejecutar tareas de <a href=\"https:\/\/liora.io\/es\/machine-learning-definicion-funcionamiento-usos\">Machine Learning<\/a> que se ejecutan en cl\u00fasteres Spark externos. Tambi\u00e9n permite cargar datos de aplicaciones o sitios web en un Data Warehouse una vez por hora.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Airflow for Beginners - Run Spotify ETL Job in 15 minutes!\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/i25ttd32-eo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-los-componentes-de-airwave\">Los componentes de Airwave<\/h2>\n\n\n\n<p>La <b>arquitectura Airwave<\/b>&nbsp;se basa en varios elementos. Estos son los principales.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-los-dag\">Los DAG<\/h3>\n\n\n\n<p>Un DAG (Directed Acyclic Graph) es un circuito de datos definido en c\u00f3digo <a href=\"https:\/\/liora.io\/es\/python-o-r-que-elegir\">Python<\/a>. Cada DAG <b>representa una secuencia de tareas por ejecutar<\/b>, organizada para indicar las relaciones entre las tareas en la interfaz de usuario de Airflow.\u00a0Cada una de las tres palabras del acr\u00f3nimo DAG corresponde a una propiedad de estas tareas. Est\u00e1n <b>\u201cdirected\u201d (dirigidas)<\/b> porque las tareas deben tener al menos una tarea ascendente y una tarea descendente.<\/p>\n\n\n\n<p><b>\u00abAcyclic\u00bb<\/b> (ac\u00edclicos), porque no se permite que las tareas creen datos de autorreferencia para evitar la creaci\u00f3n de bucles infinitos. Finalmente, <b>\u201cGraph\u201d (gr\u00e1ficos)<\/b>, porque las tareas se presentan en una estructura clara indicando sus relaciones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-las-tareas\">Las tareas<\/h3>\n\n\n\n<p>Cada nodo de un DAG representa una tarea. Es una <b>representaci\u00f3n visual de los trabajos quese est\u00e1n ejecutando<\/b> en cada etapa del flujo de trabajo. Los operadores son quienes definen los trabajos.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"How to write your first DAG in Apache Airflow - Airflow tutorials.\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/2nhdhIYueIE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-los-operadores\">Los operadores<\/h3>\n\n\n\n<p>Los operadores son los componentes b\u00e1sicos de la plataforma Airflow. Permiten determinar el trabajo realizado. Se puede tratar de una tarea individual o del nodo de un DAG, que definir\u00e1n <b>c\u00f3mo se ejecutar\u00e1 la tareaejecutar\u00e1 la tarea<\/b>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>El DAG ayuda a garantizar que los operadores se programen y ejecuten en un orden preciso, mientras que los operadores definen los trabajos que se realizar\u00e1n en cada paso del proceso.<\/p>\n<\/blockquote>\n\n\n\n<p>Hay tres categor\u00edas principales de operadores. En primer lugar, <b>los operadores de acci\u00f3n<\/b> realizan una funci\u00f3n. Como ejemplo, citemos PythonOperator o BashOperator. Los <b>operadores de transferencia<\/b>, por su parte, pueden transferir datos de una fuente a un destino, como S3ToRedshiftOperator. Finalmente, los <b>operadores de captura<\/b> permanecen pasivos hasta que se detecta un evento. Este es el caso del ExternalTaskSensor. Cada operador se define individualmente. Sin embargo, los operadores pueden <b>comunicar informaci\u00f3n entre s\u00ed mediante XComs<\/b>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-los-hooks\">Los Hooks<\/h3>\n\n\n\n<p>En Airflow, los Hooks permiten la <b>interfaz con sistemas de terceros<\/b>. Permiten conectarse a API y bases de datos externas como Hive, S3, GCS, MySQL, Postgres, etc. La informaci\u00f3n confidencial, como las credenciales de inicio de sesi\u00f3n, se mantiene fuera de Hooks. Se almacenan en <b>una base de metadatos cifrada<\/b> asociada con la instancia actual de Airflow.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-los-plugins\">Los plugins<\/h3>\n\n\n\n<p>Los plugins de Airflow se pueden describir como una combinaci\u00f3n de Hooks y operadores. Se utilizan para efectuar determinadas tareas espec\u00edficas <b>que implican a una aplicaci\u00f3n externa<\/b>. Por ejemplo, podr\u00eda ser transferir datos de Salesforce a Redshift. Existe <b>una gran colecci\u00f3n de plugins de c\u00f3digo abierto<\/b> creados por la comunidad de usuarios. Cada usuario puede crear plugins para satisfacer sus necesidades espec\u00edficas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-las-conexiones\">Las conexiones<\/h3>\n\n\n\n<p>Las \u00abconexiones\u00bb permiten que Airflow almacene informaci\u00f3n, lo que permite <b>conectarse a sistemas externos<\/b> como identificadores o tokens <a href=\"https:\/\/liora.io\/es\/api-que-es-y-para-que-sirve\">API<\/a>. Se gestionan directamente desde la interfaz de usuario de la plataforma. Los datos se cifran y almacenan como metadatos en una base de datos Postgres o MySQL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-como-aprendo-a-usar-airflow\">\u00bfC\u00f3mo aprendo a usar Airflow?<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Quelles  sont les missions du Data Analyst ? Data Scientist ? Data Engineer ? R\u00e9ponse en 1 minute\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/zL849MWrSag?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Para aprender a usar Airflow, es tan f\u00e1cil como hacer un <a href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\">curso de Apache Airflow<\/a>. Dominar esta soluci\u00f3n es una de las habilidades que puedes adquirir siguiendo nuestro <a href=\"https:\/\/liora.io\/es\/formacion-data-engineer\">curso de Data Engineer<\/a> o nuestra curso de Machine Learning Engineer.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/formacion-data-engineer\">Iniciar una formaci\u00f3n de Apache Airflow<\/a><\/div>\n<\/div>\n\n\n\n<p>Ya sabes todo sobre Apache Airflow. Descubre nuestro programa completo en <a href=\"https:\/\/liora.io\/docker-guide-complet\">la plataforma de contenedores Docker<\/a> y en <a href=\"https:\/\/liora.io\/snowflake-tout-savoir\">Snowflake the Data Warehouse Cloud<\/a>.<\/p>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfQu\u00e9 es Apache Airflow?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Apache Airflow es una plataforma open-source para creaci\u00f3n, planificaci\u00f3n y seguimiento de flujos de trabajo mediante programaci\u00f3n Python. Ventajas: din\u00e1mica (todo lo que se puede hacer con Python), extensible (plugins para sistemas externos), el\u00e1stica (miles de tareas diarias), 'code first' (r\u00e1pida iteraci\u00f3n). Flujos estructurados como DAG (Directed Acyclic Graphs).\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfPara qu\u00e9 se utiliza Airflow?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Airflow se usa para cualquier circuito de datos por lotes, destacando en tareas con dependencias complejas en m\u00faltiples sistemas externos. Ejemplos: a\u00f1adir actualizaciones diarias de Salesforce para informes ejecutivos, organizar\/ejecutar tareas Machine Learning en cl\u00fasteres Spark, cargar datos de apps\/sitios web a Data Warehouse por hora.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Los componentes de Airwave\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Componentes principales: DAG (Directed Acyclic Graph) \u2013 circuito definido en Python con propiedades: dirigido (tareas con ascendente\/descendente), ac\u00edclico (sin bucles infinitos), gr\u00e1fico (estructura clara). Tareas \u2013 nodos del DAG representando trabajos. Operadores \u2013 componentes b\u00e1sicos que definen el trabajo (acci\u00f3n, transferencia, captura). Hooks \u2013 interfaz con sistemas terceros (API, bases de datos externas). Plugins \u2013 combinaci\u00f3n de Hooks y operadores para tareas espec\u00edficas. Conexiones \u2013 almacenan credenciales\/tokens para sistemas externos (cifradas en metadatos).\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfC\u00f3mo aprendo a usar Airflow?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Para aprender Airflow, se puede realizar un curso especializado. Liora ofrece formaci\u00f3n en Data Engineer y Machine Learning Engineer que cubren esta herramienta.\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Apache Airflow es una plataforma de planificaci\u00f3n de flujos de trabajo de c\u00f3digo abierto ampliamente utilizada en ingenier\u00eda de datos. Descubre todo lo que necesitas saber sobre esta herramienta del Data Engineer: funcionamiento, casos de uso, componentes principales, etc. La historia de Apache Airflow comienza en 2015, en las oficinas de AirBnB. En ese momento, [&hellip;]<\/p>\n","protected":false},"author":47,"featured_media":34544,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2440],"class_list":["post-111278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ia"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/111278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/comments?post=111278"}],"version-history":[{"count":3,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/111278\/revisions"}],"predecessor-version":[{"id":184043,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/111278\/revisions\/184043"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media\/34544"}],"wp:attachment":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media?parent=111278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/categories?post=111278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}