Estágio e repositório de testes dos dados coletados pelo DadosJusBr utilizando DBT e Frictionless Framework
Para rodar os testes para o banco de dados:
- Criar um ambiente virtual e instalar dependências.
sudo apt install python3.8-venv
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
- Configurar conexão com o banco de dados.
O arquivo profiles.yml deve ser criado no diretório ~/.dbt/. Esse arquivo contém a configuração do perfil de conexão.
data_tests:
target: dev
outputs:
dev:
type: postgres
host: <host>
user: <usuario>
password: <senha>
port: 5432
dbname: <nome_do_banco_de_dados>
schema: <esquema>
threads: 4
keepalives_idle: 0
- Rodar os seguintes comandos para testar conexão, baixar bibliotecas da ferramenta e rodar os testes :)
dbt debug
dbt deps
dbt run
AID={órgão} YEAR={ano} dbt test
- Para rodar os testes para todos os órgãos e para N anos, além de alertas percentuais e comparação entre banco e CNJ, basta:
YEARS={lista de anos} ./banco_completo.sh
Enquanto um estágio do pipeline de coleta, a ferramenta analisa/testa o pacote de dados gerado no processo de coleta, utilizando a saída gerada pelo Armazenador.
docker build -t verificador-integridade-dados .
cat saida-armazenador.txt | docker run -i --rm -e COURT={orgao} -e YEAR={ano} -e MONTH={mes} -e POSTGRES_HOST={host} -e POSTGRES_DBNAME={dbname} -e POSTGRES_PASSWORD={password} -e POSTGRES_USER={user} -e POSTGRES_PORT={port} --name verificador-integridade-dados verificador-integridade-dados