Este repositório contém duas DAGs para extração automatizada de dados utilizando o Apache Airflow. As DAGs foram desenvolvidas para extrair dados climáticos históricos de Boston e dados de ações de empresas selecionadas, permitindo armazenamento e análise desses dados em arquivos .csv
.
Esta DAG é executada semanalmente e coleta as condições climáticas da semana anterior para a cidade de Boston. Os dados são salvos em uma pasta específica com a data da semana.
- Nome da DAG:
dados_climaticos
- Objetivo: Extrair dados climáticos de Boston e armazenar semanalmente para fins de análise.
- Intervalo de execução: Semanal, toda segunda-feira (
0 0 * * 1
) - Data de início: 22 de agosto de 2022
- Timezone: UTC
-
Tarefa 1 - Criação de Pasta (
cria_pasta
)- Cria uma pasta com a data correspondente para armazenar os dados extraídos.
- Comando:
mkdir -p "/home/thiago/Documents/airflowalura/tempo_em_boston/semana={{data_interval_end.strftime("%Y-%m-%d")}}"
-
Tarefa 2 - Extração de Dados (
extrai_dados
)- Extrai dados climáticos de Boston da semana anterior via API e salva em três arquivos
.csv
:dados_brutos.csv
(dados completos),temperaturas.csv
(dados de temperatura), econdicoes.csv
(condições climáticas e ícones).
- Extrai dados climáticos de Boston da semana anterior via API e salva em três arquivos
Esta DAG é executada diariamente, de terça a sexta-feira, e coleta dados horários de preços das ações das empresas AAPL, MSFT, GOOG e TSLA. Cada conjunto de dados é salvo em uma pasta específica para cada ticker, permitindo acompanhamento regular.
- Nome da DAG:
get_stocks_dag
- Objetivo: Extrair dados horários de preços de ações para análise.
- Intervalo de execução: Diária, de terça a sexta-feira (
0 0 * * 2-6
) - Data de início: 1 de janeiro de 2024
- Timezone: UTC
- Tarefa de Extração por Ticker (
get_history
)- Para cada ticker em
TICKERS
, extrai dados horários viayfinance
e salva um arquivo.csv
com o preço das ações no caminho correspondente ao ticker.
- Para cada ticker em
- Instale o Apache Airflow: Siga a documentação oficial para instalar o Airflow em um ambiente adequado.
- Bibliotecas Python:
pandas
eyfinance
para manipulação e extração de dados.- Instale com:
pip install pandas yfinance
- Configurações de Diretório:
- Certifique-se de que os caminhos definidos nas DAGs estão acessíveis no ambiente de execução do Airflow (
/home/thiago/Documents/airflowalura
ou ajuste conforme necessário).
- Certifique-se de que os caminhos definidos nas DAGs estão acessíveis no ambiente de execução do Airflow (
-
Clone este repositório em sua máquina:
git clone https://github.com/seu_usuario/seu_repositorio.git cd seu_repositorio
-
Mova as DAGs para o diretório de DAGs do Airflow.
-
Inicie o scheduler e a interface web do Airflow:
airflow scheduler airflow webserver
-
Monitore a execução das DAGs na interface do Airflow.
/tempo_em_boston/semana=YYYY-MM-DD/
dados_brutos.csv: Dados completos do clima.
temperaturas.csv: Dados de temperatura mínimos, médios e máximos.
condicoes.csv: Descrição das condições e ícones do clima.
/stocks/{ticker}/{ticker}_YYYYMMDD.csv
Arquivo contendo os preços históricos das ações por hora.