Este repositório contém uma análise exploratória baseada em PySpark de um conjunto de dados do Spotify, concebida como um projeto de portfólio para demonstrar competências em engenharia de dados, análise de dados e usa da plataforma databricks.
.
├── data/ # local esperado para o arquivo spotify-data.csv
├── notebooks/
│ └── exercicios_spotify_pyspark.py # script com todo o fluxo de análise
├── evidences/ # capturas de tela e resultados da execução
└── requirements.txt # dependências necessárias para executar a análise
A análise foi desenvolvida e executada em um workspace Databricks, usando um notebook Python que lê o CSV, transforma os dados e grava os resultados em uma tabela Delta.
- O notebook está em
notebooks/exercicios_spotify_pyspark.pye foi executado como um notebook Databricks (ou importado como script). - O dataset usado é o
spotify-data.csv, carregado a partir da pastadata/. - O resultado do processamento é salvo como uma tabela Delta chamada
spotify_processed.
Caso queira executar localmente fora do Databricks, basta ter o dataset em data/ e rodar:
pip install -r requirements.txt
python notebooks/exercicios_spotify_pyspark.py💡 No Databricks, as evidências de execução (prints, capturas de tela e resultados) estão disponíveis em
evidences/, incluindo exemplos de visualização de catálogo, queries e execução de job.
O script realiza uma sequência de etapas que incluem:
- Carregamento do CSV para um DataFrame Spark
- Exploração inicial (contagens, colunas, estatísticas)
- Filtragem e seleção de registros relevantes
- Criação de colunas derivadas (duração em minutos, década, níveis de energia e humor)
- Agregações por década, artistas e outras dimensões
- Uso de SQL via
createOrReplaceTempViewespark.sql - Análise avançada com window functions (rankings, médias móveis)
- Criação de UDFs para categorização de gênero
- Exportação de dados processados em uma tabela delta
Ao executar o script no Databricks, ele gera uma tabela Delta chamada spotify_processed que pode ser consultada diretamente via SQL ou visualizada no catálogo do workspace.
Além disso, o script imprime métricas, insights e exemplos de consultas no terminal/notebook.
Para a release da prova_50, foi seguido o workflow documentado em docs/workflows/prova_50_workflow.md:
- Geracao inicial da solucao com base em politica e especializacao PySpark.
- Revisao estruturada para identificar erros logicos, inconsistencias e riscos de performance.
- Refatoracao guiada por plano, com rastreabilidade das mudancas.
- Debug com feedback real de execucao no Databricks.
- Ajustes e validacao humana final para garantir aderencia ao enunciado.
Esse processo foi aplicado em camadas de validacao (estrutural, logica, runtime e semantica), reduzindo regressao e aumentando confiabilidade da entrega.
A pasta evidences/ contém capturas de tela do ambiente Databricks usadas para demonstrar o fluxo de trabalho.
-
Visão geral do catálogo (tabela Delta)
-
Exemplo de consulta e preview de dados
-
Execução de job no Databricks
Ao executar o script no Databricks, ele gera uma tabela Delta chamada spotify_processed que pode ser consultada diretamente via SQL ou visualizada no catálogo do workspace.
Além disso, o script imprime métricas, insights e exemplos de consultas no terminal/notebook.


