dados-tse / README.md

tbrugz 0e244a3 
tbrugz fe7f81e 




tbrugz 60fa68d 
tbrugz fe7f81e 
tbrugz 5180f3b 

tbrugz 80e9322 
tbrugz 08fe389 
tbrugz 5180f3b 
tbrugz 577627c 






tbrugz ef062cc 
tbrugz fe7f81e 

tbrugz 60fa68d 
tbrugz fe7f81e 

tbrugz ee232cd 
tbrugz 0e244a3 
tbrugz 60fa68d 






tbrugz ee232cd 

tbrugz 7f80386 
tbrugz 60fa68d 
tbrugz ee232cd 
tbrugz 0e244a3 

tbrugz 60fa68d 
tbrugz ee232cd 







tbrugz 60fa68d 




tbrugz 0e244a3 

tbrugz c4e6895 

tbrugz 60fa68d 



tbrugz 08fe389 




tbrugz ee232cd 
tbrugz 08fe389 
dados-tse
=========

projeto para desenvolvimento de cubos OLAP a partir de dados eleitorais. 

para informações sobre fontes de dados, ver `/dados/README.md`.

para rodar as transformações, ver *jobs kettle* em `/kettle/repositorio-de-dados-eleitorais/<*>.kjb`.

ordem normal de execução dos jobs/transformações:

- `job_eleicoes_basico`
- `job_eleicoes_candidatos` (parametros: *uf* e *ano*)
- `job_eleicoes_bem_candidatos` (parametros: *uf* e *ano*)
- `job_eleicoes_votacao` (parametros: *uf* e *ano*)
- `job_eleicoes_prestacao_contas` (parametros: *uf* e *ano*)

jobs que incluem outros jobs:

- `job_eleicoes_uf` (parametros: *uf* e *ano*) (inclui: `job_eleicoes_candidatos`, `job_eleicoes_bem_candidatos` e `job_eleicoes_votacao`)


pré-requisitos
--------------

- engine ETL [kettle](http://kettle.pentaho.com/) (versão [4.3](http://wiki.pentaho.com/display/BAD/Downloads))
- banco de dados compatível com JDBC. testado com [h2](http://www.h2database.com/) (padrão, baixado pelo ivy) e [postgresql](http://www.postgresql.org/)
- [ant](http://ant.apache.org/) e [ivy](http://ant.apache.org/ivy/) (recomendado)
- engine OLAP compatível com mondrian (tipo [pentaho BI platform](http://community.pentaho.com/projects/bi_platform/) ou [saiku](http://analytical-labs.com/)) (desejável)


passo-a-passo
-------------

configuração do ambiente:

- baixar dados do [repositorio-de-dados-eleitorais](http://www.tse.jus.br/eleicoes/repositorio-de-dados-eleitorais) para `<project-dir>/dados/repositorio-de-dados-eleitorais/2010` e descompactar para o estado (UF) desejado (ver `/dados/README.md`)
- copiar propriedades de `kettle.template.properties` para `<user-home>/.kettle/kettle.properties` (editando as propriedades necessárias)
- editar `build.properties` (em especial as propriedades `kettle.home`, `dadostse.carga.uf` e `dadostse.h2.basedir`)
- `ant resolve` - baixa dependências do projeto (inclusive banco H2)
- `ant start-db` - inicia banco H2 (banco será criado na pasta apontada por `dadostse.h2.basedir` no arquivo `build.properties`)
- `ant create-db-objects` - cria objetos de banco

carga de dados:

- editar as propriedades `dadostse.carga.uf` e `dadostse.carga.anoeleicao` do `build.properties` para carregar os arquivos desejados 
- `ant run-job-<*>` - carrega dados no banco:
	- `run-job-java-basicos` - carrega dados básicos/genéricos (devem ser carregados apenas uma vez, e antes de outras cargas)
	- `run-job-java-uf` - executa job de candidatos e votaçães (parametros: *ano* e *uf*)
	- `run-job-java-uf-cand` - carrega somente dados de candidatos e bens de candidatos (parametros: *ano* e *uf*)

para consultar o banco H2:

- `http://localhost:8082` (ver propriedades de conexão em `<user-home>/.kettle/kettle.properties`)

para visualização OLAP:

- utilizar arquivo mondrian em `<project-dir>/modelo/sqldump-dados-tse/tse-mondrianschema.xml` ou `output/test/modelo-sqldump-dados-tse/tse-mondrianschema.xml`
- exemplo de *datasource saiku* pode ser encontrado em `<project-dir>/modelo/saiku-tse-datasource.txt`

para parar/desligar banco:

- `ant stop-db`


créditos e licença
------------------

autor: Telmo Brugnara <[tbrugz@gmail.com](mailto:tbrugz@gmail.com)>

licença: [AGPLv3](http://www.gnu.org/licenses/agpl.html)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.