Para a validação do desafio será necessário a construção do ambiente através dos comandos abaixo
git clone https://github.com/Syds674/Indicium_Project.gitcd Indicium_Projectsudo docker-compose -f all-docker-compose.yaml upEm 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.shObs.: Após a ultima execução irá conectar automáticamente no namenode.
chmod 775 /indicium/cria_dir.sh./indicium/cria_dir.shObs.: Este comando irá criar a estrutura de pastas do HDFS
spark-submit /indicium/create_database.pyPara 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
spark-submit /indicium/scripts/extracao_dados_{nome_tabela}.py YYYY-MM-DDspark-submit /indicium/scripts/process_{nome_tabela}.py YYYY-MM-DDObs.: 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| 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 - Docker:
- Install Docker on ubuntu: https://docs.docker.com/engine/install/ubuntu/
- Install Docker on windows: https://docs.docker.com/desktop/install/windows-install/