Angel Mansilla

Data Analysis on IMDB
PARTE 1
Entendendo e Coletando os Dados
1 - Introdução
Júlia é uma entusiasta no setor de cinema, e ela decide se aventurar investindo em uma startup, a MoviesNow,
porém, ela percebe que a empresa não está bem organizada, e mesmo preparando seu primeiro projeto, não conhecem os padrões de mercado desse setor do entretenimento.
Em busca de ajudar a MoviesNow a aprimorar sua estratégia e direcionamento, Júlia decide usar suas habilidades em Data Analysis, visando não apenas coletar dados, mas também transformá-los em informações valiosas e acionáveis, e para isso, ela parte em busca de um dataset.
2 - Conjunto de Dados
Júlia decide buscar por um dataset robusto e informativo para análise de dados, oque a levou à IMDB, que possui uma fonte de dados extensa e atualizada, que inclui detalhes sobre o nascimento de artistas, suas obras cinematográficas, avaliações de filmes, anos de produção, dentre outros dados.

3 - Dicionário de Dados
Tabela 1: title.akas.tsv.gz
-
titleId (string): Identificador único do título.
-
ordering (inteiro): Número único para identificar linhas para um titleId específico.
-
title (string): Título localizado.
-
region (string): Região para esta versão do título.
-
language (string): Idioma do título.
-
types (array): Conjunto enumerado de atributos para este título alternativo.
-
attributes (array): Termos adicionais para descrever este título alternativo.
-
isOriginalTitle (booleano): Indica se é o título original.
​
Tabela 2: title.basics.tsv.gz
-
tconst (string): Identificador único do título.
-
titleType (string): Tipo/formato do título (filme, série de TV, etc.).
-
primaryTitle (string): Título mais popular/usado pelos cineastas.
-
originalTitle (string): Título original no idioma original.
-
isAdult (booleano): Indica se é um título adulto.
-
startYear (AAAA): Ano de lançamento (para filmes) ou início da série (para séries de TV).
-
endYear (AAAA): Ano de término da série de TV.
-
runtimeMinutes: Duração principal do título em minutos.
-
genres (array): Até três gêneros associados ao título.​
Tabela 3: title.principals.tsv.gz
-
tconst (string): Identificador único do título.
-
ordering (inteiro): Número único para identificar linhas para um titleId específico.
-
nconst (string): Identificador único da pessoa.
-
category (string): Categoria de trabalho da pessoa.
-
job (string): Título específico do trabalho (se aplicável).
-
characters (string): Nome do personagem interpretado (se aplicável).
​
Tabela 4: title.ratings.tsv.gz
-
tconst (string): Identificador único do título.
-
averageRating: Média ponderada das classificações dos usuários.
-
numVotes: Número de votos recebidos pelo título.
​
Tabela 5: name.basics.tsv.gz
-
nconst (string): Identificador único da pessoa.
-
primaryName (string): Nome pelo qual a pessoa é mais frequentemente creditada.
-
birthYear (AAAA): Ano de nascimento.
-
deathYear (AAAA): Ano de falecimento (se aplicável).
-
primaryProfession (array): Três principais profissões da pessoa.
-
knownForTitles (array): Títulos pelos quais a pessoa é conhecida.
4 - Diagrama de Relacionamento de Entidades
Com isso, é possível gerar um Diagrama de Relacionamento de Entidades:
.png)
5 - Transformando os Dados
O primeiro desafio de seu projeto foi converter arquivos no formato ".tsv" da IMDB para o formato ".csv" compatível com o MySQL Workbench 8.0, e graças ao tamanho dos arquivos, conversores online eram incapazes de realizar a transformação. Para contornar isso, Júlia utilizou um script em Python para realizar a conversão.
​
O script Python identificava os padrões específicos do formato ".tsv" e os transformava em formato ".csv". Isso envolvia substituir as tabulações por vírgulas e realizar outras formatações necessárias para que os dados fossem corretamente interpretados pelo MySQL Workbench. Este método permitiu a conversão eficiente de arquivos de grande porte, tornando-os adequados para importação e análise posterior no MySQL.


Após a conversão, os arquivos estavam prontos para serem carregados, Júlia pensou em utilizar a ferramenta Table Import Wizard para realizar a conversão, porém obtendo problemas de performance, optou por um método melhor, com o comando LOAD DATA LOCAL INFILE, concluindo a extração da base de dados.
6 - Informações Extras
Com as informações inseridas em seu computador, Júlia obteve informações interessantes
sobre o escopo do dados que estava trabalhando, segue aqui algumas curiosidades sobre
o conjunto de dados que será trabalhado nesse projeto.
Linhas
158.366.934 linhas de informação
Período de Coleta
Dados abrangendo
de 1894 à 2024
Colunas
32 colunas distintas entre as 5 tables
Região de Coleta
Mais de 240 países diferentes
Tamanho
12.73 GB de tamanho
em arquivos de table
​