Esse tal do Airflow
Tags: airflow, ai, python
Published: 2024-01-05 19:57:02

É uma plataforma para criar, programar e monitorar fluxos de trabalho de maneira estruturada.Isso é uma explicação simples direta para que você consiga visualizar sobre o que seria o Airflow.



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r5mxi2qq46dyat8ijsp3.png)

Você deve está se perguntando como ler essa letra para entender não é mesmo?

Relaxa vou explicar cada detalhe dele para que você consiga acompanhar


## DAGs


Imagine que você está montando um PC a partir do zero. Para ter sucesso nessa empreitada, você precisa realizar várias tarefas, como comprar os componentes, montar a placa-mãe, conectar os cabos e instalar o sistema operacional.

O DAG seria como um guia visual para te ajudar a organizar essas tarefas. Cada tarefa, como comprar os componentes ou montar a placa-mãe, é um passo crucial para garantir que o PC funcione perfeitamente. Esses passos têm uma ordem específica, como não faz sentido conectar os cabos antes de montar a placa-mãe.

Então, o DAG no contexto de montar um PC é como um mapa que mostra a sequência correta dessas tarefas. Ele é uma ferramenta que te ajuda a não se perder no meio do processo de montagem, indicando a ordem certa para cada coisa acontecer.

Assim como você seguiria um guia passo a passo para montar um PC, o DAG ajuda a visualizar e organizar as etapas importantes do seu plano, evitando que você faça coisas fora de ordem e garantindo que o PC seja montado de maneira eficiente.

## Scheduler e Executor

**Scheduler** decide quando cada coisa deve acontecer enquanto **executor** realmente faz acontecer, executando as tarefas conforme o agendamento definido pelo Scheduler.Eles garantem que seus fluxos de trabalho sejam realizados no momento certo, seguindo a "agenda" estabelecida.

Poderia escrever algo mais profundo para explicar eles mas quis simplificar para que consiga ter um entendimento objetivo.

## Workers

Agora, para entender mais sobre os "Workers" e acompanhar um raciocínio, vou explicar de uma maneira diferente usando o exemplo de uma mãe solo que enfrenta muitas responsabilidades.

Uma maneira de pensar em ajuda seria uma rede de apoio. Essa rede de apoio funciona como os "Workers". Cada pessoa na rede contribui de alguma maneira para ajudar a mãe.

Os "Workers" (a rede de apoio) ajudam em diversas tarefas, colaborando e dividindo responsabilidades para garantir que diferentes aspectos da vida da mãe sejam cuidadas, aliviando um pouco o peso sobre ela.

Assim como em sistemas tecnológicos, onde os "Workers" colaboram para executar tarefas específicas, essa rede de apoio colabora para ajudar a mãe solo nas diversas atividades do dia a dia.

**Então com isso eles são processos independentes que recebem as tarefas para executarem e retornar os resultados ao metadatabase.**

## Metadatabase

Pense na "Metadatabase" como uma espécie de diário ou caderno onde você anota todas as informações importantes sobre as coisas que acontecem em sua casa.

Digamos que você tem um caderno onde escreve quem está em casa, o que estão fazendo, quando chegaram e quando saíram. Isso ajuda a manter tudo organizado e a entender o que está acontecendo.

Da mesma forma, uma "Metadatabase" faz isso para as tarefas e processos em um sistema. Ela registra quando algo aconteceu, quem fez, se foi bem-sucedido, entre outras informações importantes. É como um registro detalhado de tudo o que acontece, facilitando o entendimento e o acompanhamento das atividades.

O Apache Airflow utiliza um banco de dados para armazenar informações cruciais sobre o estado e execução de tarefas, DAGs e execuções passadas. Este banco de dados é frequentemente referido como "Metadatabase".


Espero ter ajudado a entender um pouco sobre Airflow, irei trazer mais sobre ele para que assim consiga virar a chave do aprendizado como eu venho virando.