Desafio final desenvolvido para a Residência do Porto Digital na empresa A3Data onde tivemos a oportunidade de aprender os processos de ETL e criação de dashboards com PowerBI.
- Instale as bibliotecas necessárias usando os comandos pip install pandas e pip install duckdb.
- Execute o notebook para criar o DataFrame, executar a consulta SQL e salvar os dados em formato Parquet.
O código está dividido em três classes principais:
- DataframeCreator:
- Essa classe tem o propósito de criar um DataFrame a partir de um arquivo CSV.
- Permite lidar com exceções como arquivos não encontrados, arquivos vazios e erros de análise.
- SQLExecutor:
- Uma classe para executar consultas SQL em um DataFrame usando DuckDB como backend de execução.
- Conecta-se a um banco de dados em memória, registra o DataFrame como uma tabela DuckDB e executa consultas SQL nessa tabela.
- ParquetDataProcessor:
- Esta classe facilita o processo de salvar um DataFrame em formato Parquet.
- Inclui um método para salvar o DataFrame em um arquivo Parquet, lidando com exceções que podem ocorrer durante o processo.
O notebook também inclui a instância dessas classes, onde um DataFrame é criado a partir de um arquivo CSV online, uma consulta SQL é executada no DataFrame e, finalmente, o DataFrame é salvo em formato Parquet.