Skip to content

Syds674/Indicium_Project

Repository files navigation

DESAFIO ENGENHARIA DE DADOS INDICIUM

Overview

Para a validação do desafio será necessário a construção do ambiente através dos comandos abaixo

Clone o repositório em sua máquina local Linux e acesse a pasta Indicium_Project
git clone https://github.com/Syds674/Indicium_Project.git
cd Indicium_Project
Para a construção do ambiente, executar:
sudo docker-compose -f all-docker-compose.yaml up
Em seguida, para realizar a cópia da estrutura de scripts para dentro do namenode, abra um novo terminal no diretório Indicium_Project e executar:
./copy_indicium_structure.sh

Obs.: Após a ultima execução irá conectar automáticamente no namenode.

Estando conectado no namenode, executar:
chmod 775 /indicium/cria_dir.sh
./indicium/cria_dir.sh

Obs.: Este comando irá criar a estrutura de pastas do HDFS

Executar o comando de criação de database no Hive:
spark-submit /indicium/create_database.py

Etapa do Desafio

Para a extração dos dados temos a pasta /indicium/scripts contendo os scripts que executarão todo processo de ETL

extracao_dados_{nome_tabela}.py
  • Script que extrai as tabelas da fonte postgres e CSV disponibilizando os arquivos dentro do diretório do hdfs no formato /hdfs/data/order/{nome_tabela}/input/{fonte}{nome_tabela}{data}.csv e no diretório local no formato /indicium/data/order/{nome_tabela}/{fonte}{nome_tabela}{data}
process_{nome_tabela}.py 
  • Script que lê o arquivo /hdfs/data/order/{nome_tabela}/input/{fonte}{nome_tabela}{data}.csv, grava um backup no diretório do hdfs /hdfs/data/order/{nome_tabela}/backup/ e salva a tabela no hive.
create_view_order_details.py 
  • Script que cria a via de pedidos e seus detalhes
Exemplo de execução do scripts
spark-submit /indicium/scripts/extracao_dados_{nome_tabela}.py YYYY-MM-DD
spark-submit /indicium/scripts/process_{nome_tabela}.py YYYY-MM-DD

Obs.: Necessário passar a data como parâmetro no formato YYYY-MM-DD para os scripts extracao_dados_{nome_tabela}.py e process_{nome_tabela}.py

spark-submit /indicium/scripts/create_view_order_details.py

Para consulta ao Hive e acesso as tabelas, utilize a seguinte URL

Applicação Url
Hue http://localhost:8888

User login: hue Password: hue

  • Para consultar a view view_order_details no hive, execute:
SELECT * FROM northwind.view_order_details 

Dependências

Para a realização deste desafio foi utilizado o repositório:

https://github.com/mrugankray/Big-Data-Cluster

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •