|
|
Esse documento contém o tutorial para utilização do BlenDB. Aqui estão presentes instruções para instalação do BlenDB e também um exemplo de utilização. Todos os passos aqui contidos foram testados num ambiente com Ubuntu.
|
|
|
Abaixo, dois links para maiores informações sobre o projeto BlenDB:
|
|
|
- Página oficial do projeto: https://gitlab.c3sl.ufpr.br/c3sl/blendb
|
|
|
- Documentação do projeto: https://gitlab.c3sl.ufpr.br/c3sl/blendb/wikis/home
|
|
|
|
|
|
# 1. Pré requisitos:
|
|
|
- Git
|
|
|
- PostgreSQL
|
|
|
|
|
|
**2. Download de dados para utilização:**
|
|
|
- `user@...$ cd ~ && git clone https://gitlab.c3sl.ufpr.br/simmctic/biod/biod-database.git`
|
|
|
- `user@...$ mv ~/biod-database ~/dadosana`
|
|
|
- `user@...$ cd ~/dadosana`
|
|
|
- `user@...$ git clone https://gitlab.c3sl.ufpr.br/c3sl/usql-manager.git`
|
|
|
|
|
|
* ***Obs.:*** Biod é um projeto o C3SL que usa o framework BlenDB. Mais detalhes em: https://biod.c3sl.ufpr.br/
|
|
|
|
|
|
**3. Download do BlenDB:**
|
|
|
- `user@...$ cd ~ && git clone https://gitlab.c3sl.ufpr.br/c3sl/blendb.git`
|
|
|
|
|
|
**4. Preparação dos dados:**
|
|
|
- Para fins de exemplificação do uso do BlenDB, optou-se por utilizar a ferramenta juntamente com os Microdados da Avaliação Nacional da Alfabetização (ANA), referentes aos anos de 2014 e 2016. ANA contém dados disponíveis publicamente e as instruções para download e padronização dos dados seguem abaixo.
|
|
|
|
|
|
- `user@...$ mkdir ~/dados_2014 && cd ~/dados_2014`
|
|
|
- `user@...$ wget http://download.inep.gov.br/microdados/microdados_ana_2014.zip`
|
|
|
- `user@...$ unzip microdados_ana_2014.zip "DADOS/*"`
|
|
|
- `user@...$ vi DADOS/TS_ALUNO.csv e realizar a seguinte substituição: :\%s/,/;/g`
|
|
|
- `user@...$ vi DADOS/TS_ESCOLA.csv e realizar a seguinte substituição: :\%s/,/;/g`
|
|
|
- `user@...$ vi DADOS/TS_ITEM.csv e realizar a seguinte substituição: :\%s/,/;/g`
|
|
|
|
|
|
* ***Obs:*** utilize o comando `:x` para salvar as alterações e sair do vi
|
|
|
* ***Obs2***: os arquivos são muito grandes para utilizar editores de texto mais complexos, por isso optou-se por realizar a substituição com o vi.
|
|
|
|
|
|
- `user@...$ mv DADOS/TS_ALUNO.csv ~/dadosana/data/load/aluno_2014.csv`
|
|
|
- `user@...$ mv DADOS/TS_ESCOLA.csv ~/dadosana/data/load/escola_2014.csv`
|
|
|
- `user@...$ mv DADOS/TS_ITEM.csv ~/dadosana/data/load/item_2014.csv`
|
|
|
- `user@...$ cd ..`
|
|
|
|
|
|
- `user@...$ mkdir ~/dados_2016 && cd ~/dados_2016`
|
|
|
- `user@...$ wget http://download.inep.gov.br/microdados/microdados_ana_2016.zip`
|
|
|
- `user@...$ unzip microdados_ana_2016.zip`
|
|
|
- `user@...$ unrar x microdados_ana_2016.rar MICRODADOS_2016/DADOS/*"`
|
|
|
- `user@...$ mv MICRODADOS_2016/DADOS . && rm -r MICRODADOS_2016`
|
|
|
- `user@...$ vi DADOS/TS_ALUNO.csv` e realizar a seguinte substituição: `:\%s/,/;/g`
|
|
|
- `user@...$ vi DADOS/TS_ESCOLA.csv` e realizar a seguinte substituição: `:\%s/,/;/g`
|
|
|
- `user@...$ vi DADOS/TS_item.csv` e realizar a seguinte substituição: `:\%s/,/;/g`
|
|
|
- `user@...$ mv DADOS/TS_ALUNO.csv ~/dadosana/data/load/aluno_2016.csv`
|
|
|
- `user@...$ mv DADOS/TS_ESCOLA.csv ~/dadosana/data/load/escola_2016.csv`
|
|
|
- `user@...$ mv DADOS/TS_item.csv ~/dadosana/data/load/item_2016.csv`
|
|
|
-` user@...$ cd ..`
|
|
|
|
|
|
**5. Criação do banco de dados e das tabelas:**
|
|
|
- `user@...$ sudo su` (será solicitado login e senha do usuário root)
|
|
|
- `root@...# su - postgres`
|
|
|
- `postgres@...$ psql -U postgres -h localhost`
|
|
|
(será solicitado login e senha. A senha padrão do usuário postgres é "postgres")
|
|
|
- `postgres=# create database dadosana;`
|
|
|
- `postgres=# \q`
|
|
|
- `postgres@...$ exit`
|
|
|
- `root@...# exit`
|
|
|
|
|
|
- Dentro da pasta `dadosana/data/create` estão os scripts .sql para criação das tabelas e das views.
|
|
|
|
|
|
**6. Popular as tabelas do banco:**
|
|
|
- `user@...$ cd ~/dadosana`
|
|
|
- Criar o arquivo "env.tmp" com as seguintes linhas:
|
|
|
|
|
|
`DB_USER=postgres`
|
|
|
`DB_NAME=dadosana`
|
|
|
`DB_PASSWORD=postgres`
|
|
|
`DB_HOST=localhost`
|
|
|
|
|
|
- `user@...$ env $(cat env.tmp) ./usql-manager/manager.sh psql create ./data`
|
|
|
- `user@...$ env $(cat env.tmp) ./usql-manager/manager.sh psql load ./data`
|
|
|
|
|
|
**7. Criar arquivos de configuração:**
|
|
|
- `user@...$ cd ~/dadosana/config`
|
|
|
- Criar o arquivo "config.env" com o seguinte conteúdo:
|
|
|
|
|
|
`BLENDB_DB0_NAME=dadosana`
|
|
|
`BLENDB_DB0_USER=postgres`
|
|
|
`BLENDB_DB0_PASSWORD=postgres`
|
|
|
`BLENDB_DB0_HOST=localhost`
|
|
|
`BLENDB_DB0_PORT=5432`
|
|
|
`BLENDB_DB0_ADAPTER=postgres`
|
|
|
`BLENDB_SCHEMA_FILE=config/config.yaml`
|
|
|
`PORT=3000`
|
|
|
|
|
|
8. Configurar BlenDB:
|
|
|
- `user@...$ cd ~/dadosana`
|
|
|
- `user@...$ ./install.sh ~/blendb`
|
|
|
- `user@...$ cd ~/blendb`
|
|
|
- `user@...$ npm install`
|
|
|
- `user@...$ npm start`
|
|
|
- Caso tudo esteja corretamente configurado, aparecerá a seguinte mensagem: `Server listening on port 3000.`
|
|
|
- As seguintes URLs permitem acessar as dimensões previamente definidas:
|
|
|
- http://localhost:3000/v1/metrics
|
|
|
- http://localhost:3000/v1/data?metrics=met:count:ana:aluno:codigo:id&dimensions=&format=json |