Error en la extracción de datos en ETL ejecutado desde Mapuche

Hola, ¿como va?

Estamos teniendo inconvenientes al momento de realizar la exportación de datos desde Mapuche, revisamos el log de pentaho (pentaho.log) y el error indica estar relacionado con SQL

La versiones de los sistemas son: Wichi 6.10 y Mapuche 3.21.0 r2

2023-07-26 15:17:15,607 ERROR [org.pentaho.di] 2023/07/26 15:17:15 - domicilio.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Error inesperado 2023-07-26 15:17:15,607 ERROR [org.pentaho.di] 2023/07/26 15:17:15 - domicilio.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException: 2023/07/26 15:17:15 - domicilio.0 - An error occurred executing SQL: 2023/07/26 15:17:15 - domicilio.0 - SELECT distinct DHA1.codigo_pais || '-' || coalesce(DHA1.codigo_provincia,DHA1.estado_extranjero) || '-' || coalesce(DHA1.codigo_postal,0) || '-' || coalesce(DHA1.codigo_repetidos,'00') as domicilio_codigo, 2023/07/26 15:17:15 - domicilio.0 - descripcion_pais::BYTEA,coalesce(descripcion_pcia::BYTEA,DHA1.estado_extranjero::BYTEA) as descripcion_pcia, DHA1.codigo_postal, coalesce(desc_localidad::BYTEA ,'Vacio/Nulo') as desc_localidad 2023/07/26 15:17:15 - domicilio.0 - FROM mapuche.dha1 DHA1 left join mapuche.dha3 DHA3 on DHA1.codigo_pais=DHA3.codigo_pais 2023/07/26 15:17:15 - domicilio.0 - left join mapuche.dha5 DHA5 ON DHA1.codigo_provincia=DHA5.codigo_pcia 2023/07/26 15:17:15 - domicilio.0 - LEFT JOIN mapuche.dha4 DHA4 ON (DHA1.codigo_provincia=DHA4.codigo_provincia and DHA1.codigo_postal=DHA4.codigo_postal AND DHA1.codigo_repetidos=DHA4.codigo_repetidos) 2023/07/26 15:17:15 - domicilio.0 - WHERE domprincipal is TRUE 2023/07/26 15:17:15 - domicilio.0 - ERROR: secuencia de bytes no válida para codificación «UTF8»: 0xd1 0x41 2023/07/26 15:17:15 - domicilio.0 - 2023/07/26 15:17:15 - domicilio.0 - at org.pentaho.di.core.database.Database.openQuery(Database.java:1716) 2023/07/26 15:17:15 - domicilio.0 - at org.pentaho.di.trans.steps.tableinput.TableInput.doQuery(TableInput.java:224) 2023/07/26 15:17:15 - domicilio.0 - at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:138) 2023/07/26 15:17:15 - domicilio.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) 2023/07/26 15:17:15 - domicilio.0 - at java.lang.Thread.run(Thread.java:748) 2023/07/26 15:17:15 - domicilio.0 - Caused by: org.postgresql.util.PSQLException: ERROR: secuencia de bytes no válida para codificación «UTF8»: 0xd1 0x41 2023/07/26 15:17:15 - domicilio.0 - at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2455) 2023/07/26 15:17:15 - domicilio.0 - at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2155) 2023/07/26 15:17:15 - domicilio.0 - at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:288) 2023/07/26 15:17:15 - domicilio.0 - at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:430) 2023/07/26 15:17:15 - domicilio.0 - at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:356) 2023/07/26 15:17:15 - domicilio.0 - at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:303) 2023/07/26 15:17:15 - domicilio.0 - at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:289) 2023/07/26 15:17:15 - domicilio.0 - at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:266) 2023/07/26 15:17:15 - domicilio.0 - at org.postgresql.jdbc.PgStatement.executeQuery(PgStatement.java:233) 2023/07/26 15:17:15 - domicilio.0 - at org.pentaho.di.core.database.Database.openQuery(Database.java:1705) 2023/07/26 15:17:15 - domicilio.0 - ... 4 more

Buenos días, te adjunto el archivo con la corrección, descomprimir y reemplazar en <PATH_ETL>/etl/carga_de_datos/mapuche/extraccion
Por avisame si les funciona correctamente así lo sacamos en próxima versión.
Saludos,
Sabrina.


d_domicilio.zip (2.86 KB)

Hola Sabrina, gracias por tu respuesta

Continuó la extracción hasta que dio error en ft_lt_legajos

2023-07-27 10:19:31,349 INFO [org.pentaho.di] 2023/07/27 10:19:31 - ft_lt_legajos - Loading transformation from XML file [file:///usr/local/pentaho/data-integration/etl/carga_de_datos/mapuche/extraccion/ft_lt_legajos.ktr] 2023-07-27 10:19:31,349 INFO [org.pentaho.di] 2023/07/27 10:19:31 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp 2023-07-27 10:19:31,353 INFO [org.pentaho.di] 2023/07/27 10:19:31 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp 2023-07-27 10:19:31,357 INFO [org.pentaho.di] 2023/07/27 10:19:31 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp 2023-07-27 10:19:31,358 INFO [org.pentaho.di] 2023/07/27 10:19:31 - ft_lt_legajos - Iniciado despacho de la transformación [ft_lt_legajos] 2023-07-27 10:19:31,795 ERROR [org.pentaho.di] 2023/07/27 10:19:31 - ft_lt_legajos.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Error inesperado 2023-07-27 10:19:31,796 ERROR [org.pentaho.di] 2023/07/27 10:19:31 - ft_lt_legajos.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException: 2023/07/27 10:19:31 - ft_lt_legajos.0 - An error occurred executing SQL: 2023/07/27 10:19:31 - ft_lt_legajos.0 - SELECT distinct 202307 AS periodo_info, 2023/07/27 10:19:31 - ft_lt_legajos.0 - dh01.nro_legaj, 2023/07/27 10:19:31 - ft_lt_legajos.0 - trim(dh01.desc_appat)::BYTEA AS apellido, 2023/07/27 10:19:31 - ft_lt_legajos.0 - trim(dh01.desc_nombr)::BYTEA AS nombre, 2023/07/27 10:19:31 - ft_lt_legajos.0 - CASE WHEN dh01.tipo_estad = 'A' THEN 1 ELSE 0 END AS tipo_estado, 2023/07/27 10:19:31 - ft_lt_legajos.0 - dh01.tipo_sexo AS sexo, 2023/07/27 10:19:31 - ft_lt_legajos.0 - 2023/07/27 10:19:31 - ft_lt_legajos.0 - CASE WHEN ((7) - extract(MONTH FROM dh01.fec_nacim)) < 0 2023/07/27 10:19:31 - ft_lt_legajos.0 - THEN ((2023 - extract(YEAR FROM dh01.fec_nacim)) - 1) 2023/07/27 10:19:31 - ft_lt_legajos.0 - WHEN (((7) - extract(MONTH FROM dh01.fec_nacim)) = 0) AND (extract(DAY FROM dh01.fec_nacim) > 1) 2023/07/27 10:19:31 - ft_lt_legajos.0 - THEN (2023 - extract(YEAR FROM dh01.fec_nacim) - 1) 2023/07/27 10:19:31 - ft_lt_legajos.0 - ELSE (2023 - extract(YEAR FROM dh01.fec_nacim)) END AS anios, 2023/07/27 10:19:31 - ft_lt_legajos.0 - dh01.fec_nacim, 2023/07/27 10:19:31 - ft_lt_legajos.0 - (SELECT dh09.codc_estcv FROM mapuche.dh09 WHERE dh09.nro_legaj = dh01.nro_legaj) AS estado_civil, 2023/07/27 10:19:31 - ft_lt_legajos.0 - (SELECT s.codc_nivel::BYTEA FROM mapuche.dh06 p, mapuche.dh33 s,mapuche.dh83 t WHERE p.nro_legaj = dh01.nro_legaj AND p.codc_titul = s.codc_titul 2023/07/27 10:19:31 - ft_lt_legajos.0 - AND t.codc_nivel = s.codc_nivel ORDER BY t.nro_jerar DESC LIMIT 1) AS nivel_estudio, 2023/07/27 10:19:31 - ft_lt_legajos.0 - (SELECT s.codc_titul::BYTEA FROM mapuche.dh06 p, mapuche.dh33 s,mapuche.dh83 t WHERE p.nro_legaj = dh01.nro_legaj AND p.codc_titul = s.codc_titul 2023/07/27 10:19:31 - ft_lt_legajos.0 - AND t.codc_nivel = s.codc_nivel ORDER BY t.nro_jerar DESC LIMIT 1) AS titulo, 2023/07/27 10:19:31 - ft_lt_legajos.0 - get_nivel_estudio_liq(dh01.nro_legaj,2023,7)::BYTEA as nivel_estudio_liq, 2023/07/27 10:19:31 - ft_lt_legajos.0 - CASE WHEN (SELECT 1 FROM mapuche.dhd9 WHERE dhd9.nro_legaj = dh01.nro_legaj GROUP BY dhd9.nro_legaj) = 1 2023/07/27 10:19:31 - ft_lt_legajos.0 - THEN 1 ELSE 0 END AS discapacidad_id, 2023/07/27 10:19:31 - ft_lt_legajos.0 - 0 AS cant_horas, 2023/07/27 10:19:31 - ft_lt_legajos.0 - CASE WHEN (SELECT 1 FROM mapuche.dh03 WHERE (fec_alta < (20230801::character varying)::date) AND (fec_baja is null or fec_baja >= (2023||'-'||7||'-'||01)::DATE) AND dh03.nro_legaj = dh01.nro_legaj GROUP BY dh03.nro_legaj) = 1 2023/07/27 10:19:31 - ft_lt_legajos.0 - THEN 1 ELSE 0 END AS cant_leg_activos, 2023/07/27 10:19:31 - ft_lt_legajos.0 - CASE WHEN (SELECT 1 FROM mapuche.dh21 WHERE dh21.nro_legaj = dh01.nro_legaj AND dh21.codn_conce > 0 AND dh21.nro_orimp >0 GROUP BY dh21.nro_legaj) = 1 2023/07/27 10:19:31 - ft_lt_legajos.0 - THEN 1 ELSE 0 END AS cant_leg_liq, 2023/07/27 10:19:31 - ft_lt_legajos.0 - COALESCE((SELECT tipo_incen FROM mapuche.dh03 WHERE 2023/07/27 10:19:31 - ft_lt_legajos.0 - (fec_alta < (20230801::character varying)::date) AND 2023/07/27 10:19:31 - ft_lt_legajos.0 - (fec_baja is null or fec_baja >= (2023||'-'||7||'-'||01)::DATE) AND 2023/07/27 10:19:31 - ft_lt_legajos.0 - tipo_incen NOT IN ('','N') AND dh03.nro_legaj = dh01.nro_legaj AND tipo_incen IS NOT NULL 2023/07/27 10:19:31 - ft_lt_legajos.0 - ORDER BY tipo_incen LIMIT 1) , ' ') AS categoria_incentivo_codigo, 2023/07/27 10:19:31 - ft_lt_legajos.0 - COALESCE((SELECT dedi_incen FROM mapuche.dh03 WHERE 2023/07/27 10:19:31 - ft_lt_legajos.0 - (fec_alta < (20230801::character varying)::date) AND 2023/07/27 10:19:31 - ft_lt_legajos.0 - (fec_baja is null or fec_baja >= (2023||'-'||7||'-'||01)::DATE) AND 2023/07/27 10:19:31 - ft_lt_legajos.0 - tipo_incen NOT IN ('','N') AND dh03.nro_legaj = dh01.nro_legaj AND tipo_incen IS NOT NULL 2023/07/27 10:19:31 - ft_lt_legajos.0 - ORDER BY tipo_incen LIMIT 1) , ' ') AS dedicacion_incentivo_codigo, 2023/07/27 10:19:31 - ft_lt_legajos.0 - LPAD(dh01.nro_cuil1::varchar, 2, '0') || LPAD(dh01.nro_cuil::varchar, 8, '0') || dh01.nro_cuil2 AS cuil, 2023/07/27 10:19:31 - ft_lt_legajos.0 - (SELECT correo_electronico::BYTEA FROM mapuche.dha1 WHERE dh01.nro_legaj=nro_persona AND domprincipal is TRUE ORDER BY ano_vigencia, mes_vigencia DESC LIMIT 1) as correo_electronico, 2023/07/27 10:19:31 - ft_lt_legajos.0 - (SELECT codigo_pais || '-' || coalesce(codigo_provincia,estado_extranjero) || '-' || coalesce(codigo_postal,0) || '-' || coalesce(codigo_repetidos,'00') FROM mapuche.dha1 WHERE dh01.nro_legaj=nro_persona AND domprincipal is TRUE ORDER BY ano_vigencia, mes_vigencia DESC LIMIT 1) as domicilio_codigo, 2023/07/27 10:19:31 - ft_lt_legajos.0 - (SELECT 'Calle: ' || coalesce(calle::BYTEA,'-') || ' Nro:' || coalesce(numero::BYTEA,'-') || ' Piso:' || coalesce(piso::BYTEA,'-') || ' Dpto:' || coalesce(dpto_oficina::BYTEA,'-') || ' Zona:' || coalesce(zona_paraje_barrio::BYTEA,'-') FROM mapuche.dha1 WHERE dh01.nro_legaj=nro_persona AND domprincipal is TRUE ORDER BY ano_vigencia, mes_vigencia DESC LIMIT 1) as direccion, 2023/07/27 10:19:31 - ft_lt_legajos.0 - (SELECT dh09.codc_regio FROM mapuche.dh09 WHERE dh09.nro_legaj = dh01.nro_legaj) AS regional_cabecera, 2023/07/27 10:19:31 - ft_lt_legajos.0 - (SELECT dh09.codc_uacad FROM mapuche.dh09 WHERE dh09.nro_legaj = dh01.nro_legaj) AS unidad_academica_cabecera 2023/07/27 10:19:31 - ft_lt_legajos.0 - FROM mapuche.dh01 dh01 2023/07/27 10:19:31 - ft_lt_legajos.0 - WHERE (dh01.tipo_estad = 'A' OR dh01.tipo_estad = 'J' OR (dh01.tipo_estad = 'P' AND dh01.nro_legaj in (Select distinct nro_legaj from mapuche.dh21))) 2023/07/27 10:19:31 - ft_lt_legajos.0 - ORDER BY dh01.nro_legaj 2023/07/27 10:19:31 - ft_lt_legajos.0 - ERROR: secuencia de bytes no válida para codificación «UTF8»: 0xc9 0x52 2023/07/27 10:19:31 - ft_lt_legajos.0 - 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.pentaho.di.core.database.Database.openQuery(Database.java:1716) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.pentaho.di.trans.steps.tableinput.TableInput.doQuery(TableInput.java:224) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:138) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at java.lang.Thread.run(Thread.java:748) 2023/07/27 10:19:31 - ft_lt_legajos.0 - Caused by: org.postgresql.util.PSQLException: ERROR: secuencia de bytes no válida para codificación «UTF8»: 0xc9 0x52 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2455) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2155) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:288) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:430) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:356) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:303) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:289) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:266) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.postgresql.jdbc.PgStatement.executeQuery(PgStatement.java:233) 2023/07/27 10:19:31 - ft_lt_legajos.0 - at org.pentaho.di.core.database.Database.openQuery(Database.java:1705) 2023/07/27 10:19:31 - ft_lt_legajos.0 - ... 4 more

Es por el domicilio también, te adjunto el archivo con la corrección en ft_legajos, descomprimir y reemplazar en <PATH_ETL>/etl/carga_de_datos/mapuche/extraccion


ft_lt_legajos.zip (3.94 KB)

Sabrina, muchas gracias por la ayuda

Completo correctamente la extracción de datos!!!

Dejo una pregunta más,

Estamos preparando en entorno para migración a Wichi 6.12 que precisa una versión más nueva del motor de base y de distribución de Linux.

En ese caso que se presente el mismo inconveniente, ¿podemos aplicar estos archivos a la nueva versión o precisamos otros?

No, si te sirve el de domicilio pero no el de legajos porque se agregan mas campos. Te adjuntos los de la version 6.12
Saludos,
Sabrina


a_reemplazar.zip (6.85 KB)

Perfecto, los dejo listos para la migración

Muchas gracias