Commits

tbrugz committed 428a9fb Draft

transf: correção origem_CANDBEM (alt tabela tse_candidatos_bens); alts build

Comments (0)

Files changed (5)

 	<!-- 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.uf.file" value="kettle/repositorio-de-dados-eleitorais/job_eleicoes.kjb" />
 	<!--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" />
 		</java>
 	</target>
 
+	<target name="run-job-java-br">
+		<echo message="carga dados BR [ano=${dadostse.carga.anoeleicao}; uf=${dadostse.carga.uf}/BR]" />
+		<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="/param:dadostse.carga.anoeleicao=${dadostse.carga.anoeleicao}"/>
+			<arg value="/param:dadostse.carga.uf=BR"/>
+		</java>
+	</target>
+	
 	<target name="run-job-java-uf">
-		<echo message="carga dados UF [uf=${dadostse.carga.uf}]" />
+		<echo message="carga dados 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"/>
 		</java>
 	</target>
 	
-	<target name="run-job-java" depends="run-job-java-basicos, run-job-java-uf">
+	<target name="run-job-java" depends="run-job-java-basicos, run-job-java-uf"
+		description="Executa jobs em sequência">
 	</target>
 
 	<!-- antcontrib necessário para o 'for' -->

kettle/repositorio-de-dados-eleitorais/job_eleicoes_br.kjb

       <wait_until_finished>Y</wait_until_finished>
       <follow_abort_remote>N</follow_abort_remote>
       <create_parent_folder>N</create_parent_folder>
-      <parameters>        <pass_all_parameters>N</pass_all_parameters>
+      <parameters>        <pass_all_parameters>Y</pass_all_parameters>
             <parameter>            <name>dadostse.carga.uf</name>
             <stream_name/>
             <value>BR</value>

kettle/repositorio-de-dados-eleitorais/origem_CANDBEM.ktr

     <parameters>
         <parameter>
             <name>dadostse.carga.anoeleicao</name>
-            <default_value>2008</default_value>
+            <default_value>2010</default_value>
             <description/>
         </parameter>
         <parameter>
     </step>
 
   <step>
-    <name>data&#47;hora invalida</name>
-    <type>ScriptValueMod</type>
-    <description/>
-    <distribute>Y</distribute>
-    <copies>1</copies>
-         <partitioning>
-           <method>none</method>
-           <schema_name/>
-           </partitioning>
-    <compatible>N</compatible>
-    <jsScripts>      <jsScript>        <jsScript_type>0</jsScript_type>
-        <jsScript_name>Script 1</jsScript_name>
-        <jsScript_script>&#47;&#47;Script here
-
-var DATA_ULTIMA_ATUALIZACAO = DATA_ULTIMA_ATUALIZACAO_X;
-var HORA_ULTIMA_ATUALIZACAO = HORA_ULTIMA_ATUALIZACAO_X;
-
-if(trim(DATA_ULTIMA_ATUALIZACAO_X)==&apos;#NE#&apos;) { DATA_ULTIMA_ATUALIZACAO = null;}
-if(trim(HORA_ULTIMA_ATUALIZACAO_X)==&apos;#NE#&apos;) { HORA_ULTIMA_ATUALIZACAO = -1;}</jsScript_script>
-      </jsScript>    </jsScripts>    <fields>      <field>        <name>DATA_ULTIMA_ATUALIZACAO</name>
-        <rename>DATA_ULTIMA_ATUALIZACAO</rename>
-        <type>Date</type>
-        <length>-1</length>
-        <precision>-1</precision>
-        <replace>N</replace>
-      </field>      <field>        <name>HORA_ULTIMA_ATUALIZACAO</name>
-        <rename>HORA_ULTIMA_ATUALIZACAO</rename>
-        <type>Integer</type>
-        <length>2</length>
-        <precision>-1</precision>
-        <replace>N</replace>
-      </field>    </fields>     <cluster_schema/>
- <remotesteps>   <input>   </input>   <output>   </output> </remotesteps>    <GUI>
-      <xloc>80</xloc>
-      <yloc>245</yloc>
-      <draw>Y</draw>
-      </GUI>
-    </step>
-
-  <step>
     <name>Unique rows (HashSet)</name>
     <type>UniqueRowsByHashSet</type>
     <description/>
     </step>
 
   <step>
+    <name>data&#47;hora invalida</name>
+    <type>ScriptValueMod</type>
+    <description/>
+    <distribute>Y</distribute>
+    <copies>1</copies>
+         <partitioning>
+           <method>none</method>
+           <schema_name/>
+           </partitioning>
+    <compatible>N</compatible>
+    <jsScripts>      <jsScript>        <jsScript_type>0</jsScript_type>
+        <jsScript_name>Script 1</jsScript_name>
+        <jsScript_script>&#47;&#47;Script here
+
+var DATA_ULTIMA_ATUALIZACAO = null;
+var HORA_ULTIMA_ATUALIZACAO = -1;
+var DATAHORA_ULTIMA_ATUALIZACAO = null;
+
+var countOk = 0;
+
+if(trim(DATA_ULTIMA_ATUALIZACAO_X)==&apos;#NE#&apos;) { DATA_ULTIMA_ATUALIZACAO = null;}
+else { DATA_ULTIMA_ATUALIZACAO = DATA_ULTIMA_ATUALIZACAO_X; countOk++; }
+
+if(trim(HORA_ULTIMA_ATUALIZACAO_X)==&apos;#NE#&apos;) { HORA_ULTIMA_ATUALIZACAO = -1;}
+else { HORA_ULTIMA_ATUALIZACAO = HORA_ULTIMA_ATUALIZACAO_X; countOk++; }
+
+if(countOk==2) {
+	DATAHORA_ULTIMA_ATUALIZACAO = 
+		str2date(DATA_ULTIMA_ATUALIZACAO+&apos; &apos;+HORA_ULTIMA_ATUALIZACAO,
+		&quot;dd&#47;MM&#47;yyyy HH:mm:ss&quot;,&quot;BR&quot;, &quot;BRST&quot;);
+}
+</jsScript_script>
+      </jsScript>    </jsScripts>    <fields>      <field>        <name>DATA_ULTIMA_ATUALIZACAO</name>
+        <rename>DATA_ULTIMA_ATUALIZACAO</rename>
+        <type>String</type>
+        <length>-1</length>
+        <precision>-1</precision>
+        <replace>N</replace>
+      </field>      <field>        <name>HORA_ULTIMA_ATUALIZACAO</name>
+        <rename>HORA_ULTIMA_ATUALIZACAO</rename>
+        <type>String</type>
+        <length>2</length>
+        <precision>-1</precision>
+        <replace>N</replace>
+      </field>      <field>        <name>DATAHORA_ULTIMA_ATUALIZACAO</name>
+        <rename>DATAHORA_ULTIMA_ATUALIZACAO</rename>
+        <type>Date</type>
+        <length>-1</length>
+        <precision>-1</precision>
+        <replace>N</replace>
+      </field>    </fields>     <cluster_schema/>
+ <remotesteps>   <input>   </input>   <output>   </output> </remotesteps>    <GUI>
+      <xloc>80</xloc>
+      <yloc>245</yloc>
+      <draw>Y</draw>
+      </GUI>
+    </step>
+
+  <step>
     <name>i&#47;u - tipos bens</name>
     <type>InsertUpdate</type>
     <description/>
         <rename/>
         <length>-2</length>
         <precision>-2</precision>
+      </field>      <field>        <name>DATAHORA_ULTIMA_ATUALIZACAO</name>
+        <rename/>
+        <length>-2</length>
+        <precision>-2</precision>
       </field>        <select_unspecified>N</select_unspecified>
       <meta>        <name>DATA_ULTIMA_ATUALIZACAO</name>
         <rename>DATA_ULTIMA_ATUALIZACAO</rename>
-        <type>Date</type>
-        <length>-2</length>
+        <type>String</type>
+        <length>12</length>
         <precision>-2</precision>
         <conversion_mask/>
         <date_format_lenient>false</date_format_lenient>
         <storage_type/>
       </meta>      <meta>        <name>HORA_ULTIMA_ATUALIZACAO</name>
         <rename>HORA_ULTIMA_ATUALIZACAO</rename>
-        <type>Integer</type>
-        <length>-2</length>
+        <type>String</type>
+        <length>10</length>
         <precision>-2</precision>
         <conversion_mask/>
         <date_format_lenient>false</date_format_lenient>
           <column_name>HORA_ULTIMA_ATUALIZACAO</column_name>
           <stream_name>HORA_ULTIMA_ATUALIZACAO</stream_name>
         </field>
+        <field>
+          <column_name>DATAHORA_ULTIMA_ATUALIZACAO</column_name>
+          <stream_name>DATAHORA_ULTIMA_ATUALIZACAO</stream_name>
+        </field>
     </fields>
      <cluster_schema/>
  <remotesteps>   <input>   </input>   <output>   </output> </remotesteps>    <GUI>

modelo/TABLEs.sql

 	cd_tipo_bem smallint,
 	ds_bem varchar(200),
 	vl_bem bigint(19),
-	data_ultima_atualizacao timestamp,
-	hora_ultima_atualizacao bigint(19),
-	ds_tipo_bem varchar(100)
+	data_ultima_atualizacao varchar(12),
+	hora_ultima_atualizacao varchar(10),
+	ds_tipo_bem varchar(100),
+	datahora_ultima_atualizacao timestamp
 );
 
 create table tse_cargos ( -- type=TABLE

sqldump-dadostse.properties

 
 #sqldump.dumpschemapattern=public
 
-sqldump.processingclasses=xtraproc.ModelSQLIdTransformer
+sqldump.processingclasses=xtraproc.ModelSQLIdTransformer, xtraproc.StatsProc
 
 sqldump.doschemadump=true
 sqldump.schemadump.dumpclasses=SchemaModelScriptDumper, JAXBSchemaXMLSerializer, \
 sqldump.dumpsynonymastable=true
 sqldump.dumpviewastable=true
 
-#sqldump.dodatadump=true
-sqldump.datadump.dumpsyntaxes=insertinto
-sqldump.datadump.filepattern=${outputdir}/data_${tablename}.sql
-sqldump.datadump.useinsertintosyntax.withcolumnnames=true
-
-sqldump.datadump.dateformat='TO_DATE('''yyyy-MM-dd''',''YYYY-MM-DD'')'
-sqldump.datadump.rowlimit=1000
-sqldump.datadump.charset=ISO-8859-1
-sqldump.datadump.orderbypk=true
-sqldump.datadump.tables=DWD_RECURSOS_VINCULADOS
-
 sqldump.graphmldump.outputfile=${outputdir}/tse-model.graphml
 sqldump.graphmldump.showschemaname=false
 #sqldump.graphmldump.showconstraints=true
 
 #sqldump.mondrianschema.table@TSE_PERFIL_ELEITORADO.xtrafk=CD_MUNICIPIO:PUBLIC.TSE_MUNICIPIOS:CODIGO_MUNICIPIO
 
+# 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