Skip to content

💡 Analise de dados de grande volume utilizando hadoop, hive, spark.

Notifications You must be signed in to change notification settings

nayara-lucia/Pipeline-BigData

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desafio_Final_Big_Data

Desafio Final - Minsait

Projeto final para o programa Jovens Profissionais BI/BA realizado pela Minsait Indra, com intuito de apresentar as habilidades adquiridas durante a jornada de aprendizado no programa.

📌 Principais tecnologias utilizadas

MySQL Python Shell Script Gitpod Git Jupyter Notebook Linux Apache

📍 Descrição do projeto

Nesse projeto foi apresentado um desenvolvimento de um Pipeline de dados utilizando Hive na arquitetura do Apache Hadoop juntamente com o processamento e tratamento dos dados com Spark. Projeto feito para ser usado pela área de Business Intelligence utilizar para análises no PowerBI e realizar a tomada de decisões

⚒️ Construção do Projeto ⚒️

Para a movimentação e criação de pastas dentro do HDFS e também da criação das tabelas externas no Hive foi utilizado ShellScript para a automação do processo.

Foram utilizadas tabelas de vendas, clientes, endereço, região, divisão com esses dados foi necessário realizar a desnormatização das tabelas e transforma-las em um modelo dimensional de formato estrela. Para isso, utilizando linguagem SQL dentro do Spark, foi realizado diversos joins para que fosse possível chegar ao resultado esperado, além da necessidade de tratar os dados de acordo com a necessidade do cliente, como por exemplo preencher campos string vazios com "Não informado", etc. Para nossa tabela stage, criamos as devidas DW keys, e em seguida realizando a criação e identificação da nossa Fato (Vendas) e Dimensões (Localidade, Tempo e Clientes).

Após o tratamento de dados e a criação do nosso modelo estrela, com as tabelas tratadas, já na fase Gold do nosso DataLake, criamos nossa estrutura no PowerBI para que a área de Business Intelligence consiga realizar consultas e análises para tomada de decisões.

image image

📚 Principais conceitos aprendidos

  • 5 Vs do Big Data e sua importância para ánalise de dados
  • Modelo estrela x Snowflake
  • Conceitos de Docker e Manipulação dos contêineres
  • Hadoop e sua arquitetura
  • Namenode x Datanode e sua relação com o HDFS
  • Comandos Linux
  • Conceitos de Datalake
  • ETL x ELT
  • Tabelas internas e externas no Hive
  • Processamento de dados no Spark utilizando Pyspark e SQL
  • Tabela stage e desnormatização de dados
  • PowerBI para apresentação das informações


  • 📌 ESCOPO DO DESAFIO

    Neste desafio serão feitas as ingestões dos dados que estão na pasta /raw onde vamos ter alguns arquivos .csv de um banco relacional de vendas.

    • VENDAS.CSV
    • CLIENTES.CSV
    • ENDERECO.CSV
    • REGIAO.CSV
    • DIVISAO.CSV

    Seu trabalho como engenheiro de dados/arquiteto de BI é prover dados em uma pasta desafio_curso/gold em .csv para ser consumido por um relatório em PowerBI que deverá ser construído dentro da pasta 'app' (já tem o template).

    📑 ETAPAS

    Etapa 1 - Enviar os arquivos para o HDFS - nesta etapa lembre de criar um shell script para fazer o trabalho repetitivo (não é obrigatório)

    Etapa 2 - Criar o banco DEASFIO_CURSO e dentro tabelas no Hive usando o HQL e executando um script shell dentro do hive server na pasta scripts/pre_process.

    - DESAFIO_CURSO (nome do banco)
        - TBL_VENDAS
        - TBL_CLIENTES
        - TBL_ENDERECO
        - TBL_REGIAO
        - TBL_DIVISAO
    

    Etapa 3 - Processar os dados no Spark Efetuando suas devidas transformações criando os arquivos com a modelagem de BI. OBS. o desenvolvimento pode ser feito no jupyter porem no final o codigo deve estar no arquivo desafio_curso/scripts/process/process.py

    Etapa 4 - Gravar as informações em tabelas dimensionais em formato cvs delimitado por ';'.

        - FT_VENDAS
        - DIM_CLIENTES
        - DIM_TEMPO
        - DIM_LOCALIDADE
    

    Etapa 5 - Exportar os dados para a pasta desafio_curso/gold

    Etapa 6 - Criar e editar o PowerBI com os dados que você trabalhou.

    No PowerBI criar gráficos de vendas.

    REGRAS Campos strings vazios deverão ser preenchidos com 'Não informado'. Campos decimais ou inteiros nulos ou vazios, deversão ser preenchidos por 0. Atentem-se a modelagem de dados da tabela FATO e Dimensão. Na tabela FATO, pelo menos a métrica valor de venda é um requisito obrigatório. Nas dimensões deverá conter valores únicos, não deverá conter valores repetidos.

    About

    💡 Analise de dados de grande volume utilizando hadoop, hive, spark.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published