Este repositório contém scripts e arquivos necessários para extrair, transformar e carregar dados de jogos e jogadores da NBA em um banco de dados PostgreSQL hospedado na AWS, utilizando Apache Airflow como orquestrador.
schema.png: Imagem que representa o esquema do banco de dados PostgreSQL, incluindo as relações e restrições definidas nos scripts SQL.incremental_nba_dag.py: DAG do Airflow que automatiza o processo de ETL (Extração, Transformação e Carga) dos dados de jogos e jogadores da NBA.relationship_players.sql: Script SQL que define as relações e restrições entre as tabelasPLAYERSePLAYER_RESULTS.relationship_games.sql: Script SQL que define as relações e restrições entre as tabelasGAMESeGAMES_RESULTS.create_table_games.sql: Script SQL para criar a tabelaGAMES.create_table_playersresults.sql: Script SQL para criar a tabelaPLAYER_RESULTS.create_table_players.sql: Script SQL para criar a tabelaPLAYERS.create_table_gamesresults.sql: Script SQL para criar a tabelaGAMES_RESULTS.
Este arquivo contém a DAG do Airflow que automatiza o processo de ETL dos dados da NBA. A DAG é composta pelas seguintes tarefas:
extract_function_games(): Extrai os dados dos últimos jogos de todos os times da NBA.transformation_function(): Transforma os dados extraídos, limpando e estruturando-os.exctract_funcion_players_results(): Extrai os logs de jogos dos jogadores ativos da NBA.load_function_generic(): Carrega os dados transformados no banco de dados PostgreSQL.