Skip to content

marcossouz/apache-airflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Apache Airflow na Prática: Do ZERO ao DEPLOY, com Python!

Implemente pipelines de dados com exemplos práticos utilizando o Apache Airflow, Big Data, PostgreSQL e Linux.

Conteúdo

  • 1 - CONHECENDO O APACHE AIRFLOW
    • 1.1 - Introdução ao Apache AIRFLOW
    • 1.2 - Principais Características do Apache AIRFLOW - Parte I
    • 1.3 - Principais Características do Apache AIRFLOW - Parte II
    • 1.4 - Vamos Imaginar Um Caso de Uso Bem Comum para o Apache AIRFLOW
    • 1.5 - Porque usar o Apache AIRFLOW?
    • 1.6 - Mais Motivos para Usar o Apache AIRFLOW
  • 2 - MERGULHANDO NO APACHE AIRFLOW
    • 2.1 - Arquitetura do Apache Airflow
    • 2.2 - Conhecendo os DAGs
    • 2.3 - Airflow - Default Parameters, Context Manager e Operators
    • 2.4 - Airflow - Hooks e Pools
    • 2.5 - Airflow - Connections e Filas
    • 2.6 - Airflow - XCOMS, Variáveis e Branching
    • 2.7 - Airflow - SUB DAGs e SLA (Service Level Agreement)
    • 2.8 - Airflow - Trigger Rules e Last Execution Only
    • 2.9 - Airflow - Zombies/Undeads, Cluster Policies, Jinja Templating e Packaged DAGs
    • 2.10 - Airflow - Conhecendo o Recurso "BACKFILL"
  • 3 - AIRFLOW OPERATORS
    • 3.1 - Entendendo os OPERATORS no Apache AIRFLOW
    • 3.2 - Principais OPERATORS do Apache AIRFLOW
  • 4 - ALTERNATIVAS AO APACHE AIRFLOW
    • 4.1 - Conhecendo o Azkaban e o Apache OOZIE
  • 5 - HANDS ON: INSTALANDO, CONFIGURANDO E INICIALIZANDO O APACHE AIRFLOW
    • 5.1 - Instalação do Apache AIRFLOW
    • 5.2 - Configurando o seu Ambiente para as Práticas (HANDS ON)
    • 5.3 - Instalando o Apache AIRFLOW utilizando o PIP (Python)
      • $ sudo bash
      • # whoami
      • # AIRFLOW_HOME=~/airflow
      • # echo $AIRFLOW_HOME
      • # apt install python3-pip
      • # pip3 install apache-airflow
    • 5.4 - Inicializando o MetaStore no Apache AIRFLOW
      • # airflow db init
    • 5.5 - Conhecendo as Configurações do Apache AIRFLOW (airflow.cfg)
      • # cd ~/airflow/
      • # pwd -> /root/airflow
      • # ls -lrth
        • -rw-r--r-- 1 root root 44K abr 9 00:00 airflow.cfg
        • -rw-r--r-- 1 root root 4,6K abr 9 00:00 webserver_config.py
        • drwxr-xr-x 3 root root 4,0K abr 9 00:00 logs
        • -rw-r--r-- 1 root root 604K abr 9 00:00 airflow.db
      • vim airflow.cfg
    • 5.6 - Criando um Usuário no Apache AIRFLOW
      • airflow users create --username admin --firstname Silvester --lastname Stalone --role Admin --email silvester@email.com
    • 5.7 - Inicializando a Interface Web e o SCHEDULER do Apache AIRFLOW
      • airflow webserver --port 8080
      • airflow scheduler
    • 5.8 - Acessando e Conhecendo a Interface Web do Apache AIRFLOW
    • 5.9 - Executando uma INSTÂNCIA DE TAREFA e BACKFILLS no Apache AIRFLOW
      • airflow tasks run example_bash_operator runme_0 2022-04-08
      • airflow dags backfill example_bash_operator --start-date 2022-04-06 --end-date 2022-04-08
    • 5.10 - Adicionando a Variável de Ambiente AIRFLOW_HOME no BASH PROFILE
      • export AIRFLOW_HOME=~/airflow in ~/.bashrc
  • 6 - PREPARANDO O APACHE AIRFLOW PARA O AMBIENTE DE PRODUÇÃO
    • 6.1 - Migrando o BACKEND (Metastore DB) do SQLITE para o POSTGRESQL
    • 6.2 - Preparando o Ambiente para a Migração do Metastore DB (Backend)
    • 6.3 - Configurações para o Airflow em Produção (airflow.cfg)
      • # vim ~/airflow/airflow.cfg
      • sql_alchemy_conn = postgres+psycopg2://airflow:airflow@localhost/airflow
      • executor = LocalExecutor
    • 6.4 - Instalando o PostgreSQL
      • apt install postgresql postgresql-contrib
    • 6.5 - Configurando o PostgreSQL (pg_hba.conf e postgresql.conf)
      • vim /etc/postgresql/12/main/pg_hba.conf
      • vim /etc/postgresql/12/main/postgresql.conf descomentar listen_addresses = 'localhost'
      • service postgresql restart
    • 6.6 - Criando os Metadados no POSTGRESQL para Migrar o Metastore DB
      • sudo -u postgres psql
      • postgres=# CREATE USER airflow PASSWORD 'airflow';
      • CREATE DATABASE airflow;
      • postgres=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO airflow;
      • postgres=# GRANT ALL PRIVILEGES ON DATABASE airflow TO airflow;
      • # pip3 install psycopg2-binary
      • # airflow db init
      • # airflow webserver --port 8080
      • # airflow scheduler
    • 6.7 - Configurando e Inicializando o NOVO Metastore DB com o PostgreSQL
    • airflow users create --username admin --firstname Silvester --lastname Stalone --role Admin --email silvester@email.com
    • 6.8 - Conhecendo o Código PYTHON de um DAG (Workflow)
  • 7 - IMPLEMENTANDO SEU PRIMEIRO DAG COM PYTHON NO APACHE AIRFLOW
    • 7.1 - Introdução aos DAGs no AIRFLOW
    • 7.2 - Explorando um Novo DAG no Apache AIRFLOW
    • 7.3 - Detalhes de Implementação: Parâmetros do DAG
    • 7.4 - Detalhes de Implementação: Operators e Tasks
    • 7.5 - Executando o DAG no Apache AIRFLOW

Referências

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages