Commits

tbrugz  committed 9b90431 Draft

mondrian: melhorias na geração do schema ; testes carga eleições 2012

  • Participants
  • Parent commits 67ac84d

Comments (0)

Files changed (6)

File build.properties

 #dadostse.projectdir=D:/proj/dados-tse
 #dadostse.datadir=D:/proj/dados-tse/dados
 #dadostse.logdir=D:/proj/dados-tse/log
-dadostse.carga.uf=SC
+
+dadostse.carga.uf=RS
 dadostse.carga.anoeleicao=2010
 
 dadostse.h2.basedir=d:/database/h2
+
+#dadostse.cargaant.ufs=DF,ES,GO
+dadostse.cargaant.ufs=AC,AL,AM,AP,BA,CE,DF,ES
+#,GO
 	<!-- kettle properties -->
 	<property file="${user.home}/.kettle/kettle.properties"/>
 	<property name="job.basico.file" value="kettle/repositorio-de-dados-eleitorais/job_eleicoes_basico.kjb" />
-	<property name="job.br.file" value="kettle/repositorio-de-dados-eleitorais/job_eleicoes_br.kjb" />
+	<!--property name="job.br.file" value="kettle/repositorio-de-dados-eleitorais/job_eleicoes_br.kjb" /--> <!-- TODOne: alterar para candidatos[BR]! -->
 	<property name="job.uf.file" value="kettle/repositorio-de-dados-eleitorais/job_eleicoes_uf.kjb" />
+	<property name="job.uf.cand.file" value="kettle/repositorio-de-dados-eleitorais/job_eleicoes_candidatos.kjb" />
+	<!-- XXX: add job.uf.voto.file ? -->
 	<!--property name="transf.log.file" value="kettle/repositorio-de-dados-eleitorais/generate_log.ktr" /-->
 	<property name="transf.candidatos.file" value="kettle/repositorio-de-dados-eleitorais/origem_LISTACAND.ktr" />
 	<property name="transf.cargos.file" value="kettle/repositorio-de-dados-eleitorais/origem_csv_cargos.ktr" />
 		<java dir="${kettle.home}" jar="${kettle.home}/launcher/launcher.jar" fork="true">
 			<arg value="-main"/>
 			<arg value="org.pentaho.di.kitchen.Kitchen"/>
-			<arg value="/file:${project.dir}/${job.br.file}"/>
+			<arg value="/file:${project.dir}/${job.uf.cand.file}"/>
 			<arg value="/param:dadostse.carga.anoeleicao=${dadostse.carga.anoeleicao}"/>
 			<arg value="/param:dadostse.carga.uf=BR"/>
 		</java>
 		</java>
 	</target>
 	
+	<target name="run-job-java-uf-cand">
+		<echo message="carga dados candidatos UF [ano=${dadostse.carga.anoeleicao}; uf=${dadostse.carga.uf}]" />
+		<java dir="${kettle.home}" jar="${kettle.home}/launcher/launcher.jar" fork="true">
+			<arg value="-main"/>
+			<arg value="org.pentaho.di.kitchen.Kitchen"/>
+			<arg value="/file:${project.dir}/${job.uf.cand.file}"/>
+			<arg value="/param:dadostse.carga.anoeleicao=${dadostse.carga.anoeleicao}"/>
+			<arg value="/param:dadostse.carga.uf=${dadostse.carga.uf}"/>
+		</java>
+	</target>
+	
 	<target name="run-job-java" depends="run-job-java-basicos, run-job-java-uf"
 		description="Executa jobs em sequência">
 	</target>

File dados-padrao/tipos_situacao_candidato.csv

 CD_SITUACAO_CANDIDATO;APTO;DS_SITUACAO_CANDIDATO
-1;N;-- SITUAÇÃO 1 --
+1;N;-- SITUA��O 1 --
 2;S;DEFERIDO
-3;N;RENÚNCIA/FALECIMENTO/CASSAÇÃO ANTES DA ELEIÇÃO
+3;N;RENNCIA/FALECIMENTO/CASSA��O ANTES DA ELEI��O
 4;S;INDEFERIDO COM RECURSO
-5;N;-- SITUAÇÃO 5 --
-6;N;RENÚNCIA
+5;N;-- SITUA��O 5 --
+6;N;REN�NCIA
 7;N;FALECIDO
-8;N;-- SITUAÇÃO 8 --
-9;N;INELEGÍVEL
+8;N;AGUARDANDO JULGAMENTO
+9;N;INELEG�VEL
 10;N;CASSADO
 14;N;INDEFERIDO
 16;S;DEFERIDO COM RECURSO
-17;S;SUBSTITUTO MAJORITÁRIO PENDENTE DE JULGAMENTO
+17;S;SUBSTITUTO MAJORITRIO PENDENTE DE JULGAMENTO
 18;S;CASSADO COM RECURSO

File dados/README.md

 Conjunto minimo de dados para execução das transformações
 ---------------------------------------------------------
 
-- `consulta_cand_2010_BR.txt`
-- `consulta_cand_2010_<uf>.txt`
-- `detalhe_votacao_secao_2010_<uf>.txt`
-- `votacao_secao_2010_<uf>.txt`
+- `consulta_cand_<ano>_BR.txt`
+- `consulta_cand_<ano>_<uf>.txt`
+- `detalhe_votacao_secao_<ano>_<uf>.txt`
+- `votacao_secao_<ano>_<uf>.txt`
 
-- `bem_candidato_2010_BR.txt`
-- `bem_candidato_2010_<uf>.txt`
+- `bem_candidato_<ano>_BR.txt`
+- `bem_candidato_<ano>_<uf>.txt`
 
-Tais arquivos devem ser descompactados na pasta `<project-dir>/dados/repositorio-de-dados-eleitorais/2010`
+Tais arquivos devem ser descompactados na pasta `<project-dir>/dados/repositorio-de-dados-eleitorais/<ano>`
 
 
-arquivos 2010 - informações
----------------------------
+arquivos 2012
+-------------
+
+x http://agencia.tse.jus.br/estatistica/sead/odsele/consulta_cand/consulta_cand_2012.zip [1mb]
+
+x http://agencia.tse.jus.br/estatistica/sead/odsele/bem_candidato/bem_candidato_2012.zip [1mb]
+
+
+arquivos 2010
+-------------
 
 x http://agencia.tse.jus.br/estatistica/sead/odsele/votacao_candidato_munzona/votacao_candidato_munzona_2010.zip [59mb]
 
   x http://agencia.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2010_ES.zip [5mb]  [857.049]
   x http://agencia.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2010_GO.zip [8mb]  [1.542.554]
   
-  x http://agencia.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2010_RS.zip [17mb] [3.222.962/3.222.925 registros]
+  x http://agencia.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2010_RS.zip [17mb] [3.222.962/3.222.925 reg]
   x http://agencia.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2010_SC.zip [8mb]  [1.532.684/1.532.683 reg]
   - http://agencia.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2010_SP.zip [71mb]
 
 
 x http://www.tse.jus.br/hotSites/pesquisas-eleitorais/resultados_anos/votacao/votacao_secao_eleitoral_2008.html
 
-  x http://agencia.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2008_RS.zip [200mb/1.64mi registros]
+  x http://agencia.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2008_RS.zip [200mb] [1.640k reg]
 
 x http://agencia.tse.jus.br/estatistica/sead/odsele/detalhe_votacao_secao/detalhe_votacao_secao_2008.zip
 

File docs/dadostse-testqueries.txt

+
+elt-test queries
+----------------
+
+select sigla_uf, ano_eleicao, num_turno, cd_cargo, count(qtd_votos), sum(qtd_votos), sum(qtd_votos)/count(qtd_votos) as div
+from fato_tse_votacao
+group by sigla_uf, ano_eleicao, num_turno, cd_cargo
+order by sigla_uf, ano_eleicao, num_turno, cd_cargo
+
+select sigla_uf, ano_eleicao, num_turno, cd_cargo, count(qtd_votos), sum(qtd_votos)
+from fato_tse_votacao
+group by sigla_uf, ano_eleicao, num_turno, cd_cargo
+order by sigla_uf, ano_eleicao, num_turno, cd_cargo
+
+select sigla_uf, ano_eleicao, num_turno, cd_cargo, count(*)
+from fato_tse_votacao
+group by sigla_uf, ano_eleicao, num_turno, cd_cargo
+order by sigla_uf, ano_eleicao, num_turno, cd_cargo
+
+select sigla_uf, count(*)
+from fato_tse_votacao
+group by sigla_uf
+order by sigla_uf
+
+SELECT ano_eleicao, uf, cd_cargo, ds_cargo, count(*)
+FROM TSE_CANDIDATOS 
+where nr_partido not in (95,96,97)
+group by ano_eleicao, uf, cd_cargo, ds_cargo
+order by ano_eleicao, uf, cd_cargo, ds_cargo

File sqldump-dadostse.properties

 
 #sqldump.dumpschemapattern=public
 
-sqldump.processingclasses=xtraproc.ModelSQLIdTransformer, xtraproc.StatsProc
+sqldump.processingclasses=xtraproc.ModelSQLIdTransformer
+#, xtraproc.StatsProc
+
+sqldump.proc.sqlidtransformer.decorator=tolower
 
 sqldump.doschemadump=true
 sqldump.schemadump.dumpclasses=SchemaModelScriptDumper, JAXBSchemaXMLSerializer, \
 sqldump.fromdbid.autodetect=true
 #sqldump.todbid=oracle
 
+sqldump.sqltypes.ignoreprecision=SMALLINT,INTEGER
+#sqldump.sqltypes.ignoreprecision=SMALLINT,BIGINT,INTEGER
+
 sqldump.usedbspecificfeatures=true
 sqldump.dbspecificfeatures.grabindexes=true
 sqldump.dbspecificfeatures.grabexecutables=false
 
 sqldump.mondrianschema.outfile=${outputdir}/tse-mondrianschema.xml
 
-sqldump.mondrianschema.xtrafacttables=TSE_CANDIDATOS_BENS
-sqldump.mondrianschema.schemaname=Eleicoes 2010
+sqldump.mondrianschema.xtrafacttables=tse_candidatos_bens, tse_candidatos
+sqldump.mondrianschema.schemaname=Eleicoes BR
 sqldump.mondrianschema.hierarchyhasall=true
+sqldump.mondrianschema.sqliddecorator=toupper
 
-#sqldump.mondrianschema.table@TSE_PERFIL_ELEITORADO.xtrafk=CD_MUNICIPIO:PUBLIC.TSE_MUNICIPIOS:CODIGO_MUNICIPIO
+#sqldump.mondrianschema.table@tse_perfil_eleitorado.xtrafk=cd_municipio:public.tse_municipios:codigo_municipio
 
-# JDBC Connection.getColumns and case sensitivity
+# jdbc connection.getcolumns and case sensitivity
 # https://groups.google.com/group/h2-database/browse_thread/thread/ce333e62d88b585c
 # jdbc:h2:~/temp/test3;database_to_upper=false 
 
-sqldump.mondrianschema.level@TSE_MUNICIPIOS.levelnamecol=NOME_MUNICIPIO
-sqldump.mondrianschema.level@TSE_TIPOS_BENS.levelnamecol=DS_TIPO_BEM
-sqldump.mondrianschema.level@TSE_CANDIDATOS.levelnamecol=NM_CANDIDATO
-sqldump.mondrianschema.level@TSE_PARTIDOS.levelnamecol=NM_PARTIDO
-sqldump.mondrianschema.level@TSE_DETALHE_SECAO.levelnamecol=DS_SECAO_COMPARECIMENTO
-sqldump.mondrianschema.level@TSE_SECOES.levelnamecol=DS_SECAO
-sqldump.mondrianschema.level@TSE_CARGOS.levelnamecol=DS_CARGO
-sqldump.mondrianschema.level@TSE_SITUACAO_CANDIDATO.levelnamecol=DS_SITUACAO_CANDIDATO
+sqldump.mondrianschema.level@tse_municipios.levelnamecol=nome_municipio
+sqldump.mondrianschema.level@tse_tipos_bens.levelnamecol=ds_tipo_bem
+sqldump.mondrianschema.level@tse_candidatos.levelnamecol=nm_candidato
+sqldump.mondrianschema.level@tse_partidos.levelnamecol=nm_partido
+sqldump.mondrianschema.level@tse_partidos_cons.levelnamecol=nm_partido
+sqldump.mondrianschema.level@tse_detalhe_secao.levelnamecol=ds_secao_comparecimento
+sqldump.mondrianschema.level@tse_secoes.levelnamecol=ds_secao
+sqldump.mondrianschema.level@tse_cargos.levelnamecol=ds_cargo
+sqldump.mondrianschema.level@tse_situacao_candidato.levelnamecol=ds_situacao_candidato
 
 #sqldump.mondrianschema.cube@tse_secao_comparecimento.measurecols=qtd_aptos, qtd_faltosos, qtd_comparecimento
 #sqldump.mondrianschema.cube@tse_secao_comparecimento.degeneratedims=cd_tipo_origem_voto, tp_eleicao, ds_tipo_urna
 #sqldump.mondrianschema.cube@fato_tse_votos_bweb.measurecols=qtd_votos
 #sqldump.mondrianschema.cube@fato_tse_votos_bweb.degeneratedims=cd_tipo_origem_voto, tp_eleicao
 
-sqldump.mondrianschema.cube@TSE_CANDIDATOS_BENS.degeneratedims=ANO_ELEICAO
+sqldump.mondrianschema.cube@tse_candidatos_bens.degeneratedims=ano_eleicao
 #, ds_tipo_bem
-sqldump.mondrianschema.cube@TSE_CANDIDATOS_BENS.measurecols=VL_BEM
+sqldump.mondrianschema.cube@tse_candidatos_bens.measurecols=vl_bem
 
-sqldump.mondrianschema.cube@FATO_TSE_VOTACAO.degeneratedims=ANO_ELEICAO, NUM_TURNO
-sqldump.mondrianschema.cube@FATO_TSE_VOTACAO.measurecols=QTD_VOTOS
+sqldump.mondrianschema.cube@tse_candidatos.degeneratedims=ano_eleicao
+sqldump.mondrianschema.cube@tse_candidatos.measurecols=despesa_max_campanha
 
-sqldump.mondrianschema.cube@TSE_DETALHE_SECAO.measurecolsregex=QTD_.* | QT_.*
-#sqldump.mondrianschema.cube@TSE_DETALHE_SECAO.measurecols=QTD_APTOS, QTD_COMPARECIMENTO, QTD_ABSTENCOES, QT_VOTOS_NOMINAIS, QT_VOTOS_BRANCOS, QT_VOTOS_NULOS, QT_VOTOS_LEGENDA, QT_VOTOS_ANULADOS_APU_SEP
+sqldump.mondrianschema.cube@fato_tse_votacao.degeneratedims=ano_eleicao, num_turno
+sqldump.mondrianschema.cube@fato_tse_votacao.measurecols=qtd_votos
 
-sqldump.mondrianschema.cube@TSE_PC_RECEITAS_CAND.degeneratedims=UF, SIGLA_PARTIDO, CARGO, CPF_CANDIDATO, ENTREGA_EM_CONJUNTO, CPF_CNPJ_DOADOR, TIPO_RECEITA, FONTE_RECURSO, ESPECIE_RECURSO
-sqldump.mondrianschema.cube@TSE_PC_RECEITAS_CAND.measurecols=VL_RECEITA
+sqldump.mondrianschema.cube@tse_detalhe_secao.degeneratedims=ano_eleicao, num_turno
+sqldump.mondrianschema.cube@tse_detalhe_secao.measurecolsregex=qtd_.* | qt_.*
+#sqldump.mondrianschema.cube@tse_detalhe_secao.measurecols=qtd_aptos, qtd_comparecimento, qtd_abstencoes, qt_votos_nominais, qt_votos_brancos, qt_votos_nulos, qt_votos_legenda, qt_votos_anulados_apu_sep
 
-sqldump.mondrianschema.cube@TSE_PERFIL_ELEITORADO.degeneratedims=UF, PAIS, CD_MUNICIPIO:NM_MUNICIPIO, NR_ZONA, SEXO, FAIXA_ETARIA, GRAU_INSTRUCAO
-sqldump.mondrianschema.cube@TSE_PERFIL_ELEITORADO.measurecols=QTD_ELEITORES
+sqldump.mondrianschema.cube@tse_pc_receitas_cand.degeneratedims=uf, sigla_partido, cargo, cpf_candidato, entrega_em_conjunto, cpf_cnpj_doador, tipo_receita, fonte_recurso, especie_recurso
+sqldump.mondrianschema.cube@tse_pc_receitas_cand.measurecols=vl_receita
+
+sqldump.mondrianschema.cube@tse_perfil_eleitorado.degeneratedims=uf, pais, cd_municipio:nm_municipio, nr_zona, sexo, faixa_etaria, grau_instrucao
+sqldump.mondrianschema.cube@tse_perfil_eleitorado.measurecols=qtd_eleitores
 
 #sqldump.mondrianschema.level@xxx.levelpropcols=abc,def
 #sqldump.mondrianschema.cube@xxx.ignoremeasurecols=xxx,yyy