Skip to content
Snippets Groups Projects
Commit 6f5282c7 authored by Cristian Weiland's avatar Cristian Weiland
Browse files

Improve README and create argument number check in scripts

parent d97b93c0
No related branches found
No related tags found
No related merge requests found
Projeto utilizando ElasticSearch + Kibana na tentativa de auxiliar a transparência da Universidade Federal do Paraná (UFPR).
Árvore de Diretórios:
.
├── Dados\_Servidores - Contém uma diretório para cada mês.
│ ├── 2016-12 - Diretório que contém os CSVs referentes a Dezembro de 2016.
│ ├── 2016-11 - Diretório que contém os CSVs referentes a Novembro de 2016.
│ ├── ...
│ └── Processados - Diretório que contém CSVs resultantes da união de CSVs do portal transparência.
├── configs - Diretório com arquivos de configuração para unir CSVs do portal transparência em um só, que é inserido no Kibana/ElasticSearch.
├── config.json.example - Exemplo de arquivo do diretório 'configs'.
├── logstash\_configs - Diretório com arquivos de configuração do Logstash para inserção de dados no Kibana/ElasticSearch.
├── logstash\_config.example - Exemplo de arquivo do diretório 'logstash\_configs'. É usado pelo script 'create\_config.py' para gerar o arquivo de configuração do logstash.
├── create\_config.py - Script que cria arquivos de configuração que ficam contidos nos diretórios 'configs' e 'logstash\_configs'.
├── resumo\_cadastro.sh - Script que filtra dados do CSV de Cadastro do Portal Transparência, selecionando dados das Universidades interessantes para este projeto.
├── merge\_files\_es.py - Script que usa um arquivo de configuração do diretório 'configs' para unir dois CSVs (Cadastro e Remuneração) do portal transparência em um só e salvá-lo no diretório Dados\_Servidores/Processados
└── insert\_data.sh - Script que gerencia os outros scripts.
#!/bin/bash
echo "Usage: $0 <year> <month> <day>"
if [ "$#" -ne 3 ]; then
echo "Usage: $0 <year> <month> <day>"
echo "Example: $0 2016 12 01"
exit
fi
./create_config.py $1 $2 $3
./merge_files_es.py configs/config-${1}-${2}.json
......
......@@ -2,41 +2,30 @@
path=$1
date=$2
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <path> <date>"
exit
fi
echo "Processing data with args = ${path} and ${date}"
input="${path}${date}_Cadastro.csv"
output="${path}${date}_Cadastro_Ufpr_Unique.csv"
# Outubro 2016
# input="Dados_Servidores/2016-10/20161031_Cadastro.csv"
# output="Dados_Servidores/2016-10/cadastro_2016-10-31_filters_ufpr_unique.csv"
# For now, this does not work. It does not create a properly CSV.
columns="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42"
#columns="1,2,23,24"
#columns="1"
#cat $input | grep --binary-files=text "UNIVERSIDADE FEDERAL DO PARANA" | cut -f $columns | sort | uniq > $output
# The same as above, but wrap fields in double quotes.
#cat $input | grep --binary-files=text "UNIVERSIDADE FEDERAL DO PARANA" | cut -f $columns | sort | uniq | sed -e 's/"//g' -e 's/^\|$/"/g' -e 's/\t/"\t"/g' > $output
# Sed wraps fields in double quotes. Grep removes everyone that does not work in UFPR. Cut selects the important columns. Uniq removes repeated values. Tr removes null characters (ctrl + @).
#cat $input | grep --binary-files=text "UNIVERSIDADE FEDERAL DO PARANA" | cut -f $columns | sort | uniq | sed -e 's/"//g' -e 's/^\|$/"/g' -e 's/\t/"\t"/g' | tr -d '\000' > $output
# About this command:
# - Sed wraps fields in double quotes.
# - Grep removes everyone that does not work in UFPR.
# - Cut selects the important columns.
# - Uniq removes repeated values.
# - Tr removes null characters (ctrl + @).
# Parece funcionar, mas pra todas as Universidades
# Get data from all universities.
#cat $input | egrep --binary-files=text "(UNIVERSIDADE FED*|Id_SERVIDOR_PORTAL NOME)" | sed -e 's/"//g' -e 's/^\|$/"/g' -e 's/\t/"\t"/g' | tr -d '\000' > $output
#cat $input | egrep --binary-files=text "(UNIVERSIDADE FEDERAL DO PARANA|Id_SERVIDOR_PORTAL NOME)" | sed -e 's/"//g' -e 's/^\|$/"/g' -e 's/\t/"\t"/g' | tr -d '\000' > $output
#Mesmo que de cima, mas sem wrapar com "
cat $input | egrep --binary-files=text "(UNIVERSIDADE FEDERAL DO PARANA|Id_SERVIDOR_PORTAL NOME)" | tr -d '\000' > $output
# Get data only from UFPR, and wraps it in double quotes (").
# cat $input | egrep --binary-files=text "(UNIVERSIDADE FEDERAL DO PARANA|Id_SERVIDOR_PORTAL NOME)" | sed -e 's/"//g' -e 's/^\|$/"/g' -e 's/\t/"\t"/g' | tr -d '\000' > $output
# +--------+---------------------+--------------------------------+
# | Column | Contains | Example |
# +--------+---------------------+--------------------------------+
# | 1 | Id_SERVIDOR_PORTAL | 1000021 |
# | 2 | NOME | MARIA AUREA DOS SANTOS RIBEIRO |
# | 24 | COD_ORG_LOTACAO | 26241 |
# | 25 | ORG_LOTACAO | UNIVERSIDADE FEDERAL DO PARANA |
# | 29 | UORG_EXERCICIO | BL - DEPARTAMENTO DE GENETICA | Parece que é a coluna 23 na verdade...
# | 33 | JORNADA_DE_TRABALHO | 40 HORAS SEMANAIS |
# +--------+---------------------+--------------------------------+
# Same as above, but does not wrap data in double quotes (").
cat $input | egrep --binary-files=text "(UNIVERSIDADE FEDERAL DO PARANA|Id_SERVIDOR_PORTAL NOME)" | tr -d '\000' > $output
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment