Sobre error al cargar Diaguita (SIU Wichi 6.3.0)

Hola, tratando de hacer la carga del cubo nuevo del Diaguita (Wichi 6.3.0) me aparecio un error en esta query (<path_etl>/carga_de_datos/diaguita/extraccion):
SELECT p.persona AS id_proveedor, p.razon_social, p.nombre_fantasia, p.email, p.cbu, (SELECT coalesce(pc2.numero,'') [b]AS cuit[/b] FROM diaguita.anx_personas_x_documentos pc2 WHERE p.persona=pc2.persona AND pc2.tipo_de_documento_de_identidad in ('CUIT', 'CUIL') ORDER BY 1 desc LIMIT 1), (SELECT coalesce(d.calle,'') || ' ' || coalesce(d.numero,'') || ' ' || coalesce(d.piso,'') || ' ' || coalesce(d.departamento,'') || ' ' || coalesce(d.unidad,'') [b]AS descripcion_domicilio [/b] FROM diaguita.anx_domicilios d WHERE d.domicilio=max(pd.domicilio)), (SELECT l.nombre [b]AS nombre_localidad[/b] FROM diaguita.anx_localidades l, diaguita.anx_domicilios d2 WHERE d2.localidad=l.localidad AND d2.domicilio=max(pd.domicilio)) FROM diaguita.anx_personas p FULL OUTER JOIN diaguita.anx_personas_domicilios pd ON pd.persona=p.persona GROUP BY 1, 6;
Aparentemente el problema está en los nombres de los campos. Cambiándole el lugar a los “AS…” continúa la carga:
SELECT p.persona AS id_proveedor, p.razon_social, p.nombre_fantasia, p.email, p.cbu, (SELECT coalesce(pc2.numero,'') FROM diaguita.anx_personas_x_documentos pc2 WHERE p.persona=pc2.persona AND pc2.tipo_de_documento_de_identidad in ('CUIT', 'CUIL') ORDER BY 1 desc LIMIT 1)[b]AS cuit[/b], (SELECT coalesce(d.calle,'') || ' ' || coalesce(d.numero,'') || ' ' || coalesce(d.piso,'') || ' ' || coalesce(d.departamento,'') || ' ' || coalesce(d.unidad,'') FROM diaguita.anx_domicilios d WHERE d.domicilio=max(pd.domicilio)) [b]AS descripcion_domicilio[/b], (SELECT l.nombre FROM diaguita.anx_localidades l, diaguita.anx_domicilios d2 WHERE d2.localidad=l.localidad AND d2.domicilio=max(pd.domicilio)) [b]AS nombre_localidad[/b] FROM diaguita.anx_personas p FULL OUTER JOIN diaguita.anx_personas_domicilios pd ON pd.persona=p.persona GROUP BY 1, 6;
Después del cambio el script siguió avanzando ¿puede ser un problema local o está relacionado a la query?
Desde ya, muchas gracias.
Saludos, Elián.

Hola, después de lo comentado antes el proceso siguió hasta que indicó otro error: en copiar_dimensiones_dsa_dw, referido a la copia de una tabla:


2017/09/11 12:40:18 - carga_datos_compras - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Ocurrió un error al ejecutar esta entrada de trabajo: 
2017/09/11 12:40:18 - carga_datos_compras - Couldn't execute SQL: INSERT INTO diaguita.d_lugar_entrega SELECT * FROM diaguita_dsa.d_lugar_entrega
2017/09/11 12:40:18 - carga_datos_compras - 
2017/09/11 12:40:18 - carga_datos_compras - ERROR: column "fecha_hasta" is of type date but expression is of type integer
2017/09/11 12:40:18 - carga_datos_compras -   Hint: You will need to rewrite or cast the expression.
2017/09/11 12:40:18 - carga_datos_compras -   Position: 45
2017/09/11 12:40:18 - principal_importacion_diaguita_dw - Entrada de comienzo [error de compras]
2017/09/11 12:40:18 - [ERROR]: Carga a dw de Compras - Se produjo un error en la carga de las Dimensiones y FT de compras.
2017/09/11 12:40:18 - principal_importacion_diaguita_dw - Entrada de comienzo [ERROR (4)]
2017/09/11 12:40:18 - ERROR (4) - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Se aborta el proceso de importación de pilagá

Aparentemente había un problema que quedó de la creación de los esquemas y tablas. Lo resolví eliminando los esquemas de Diaguita de la base de datos, volviendo a ejecutar el script de creación para Diaguita y, finalmente, volviendo a correr la carga.

Saludos, Elián.

Hola Elian, que versión de diaguita tienen?
Saludos,
Sabrina.

Hola Sabrina. Actualmente tenemos la 2.4.2. El lunes (cuando envié el primer mensaje) teníamos la 2.3.4. Hicimos la migración ese día (por razones totalmente ajenas a esto).
Igualmente me gustaría aclarar algo sobre el primer error: el mensaje en el log era igual a este:
2017/09/13 10:19:17 - d_proveedor - Loading transformation from XML file [file:///usr/local/wichi_6.3.0/etl/carga_de_datos/diaguita/extraccion/d_proveedor.ktr] 2017/09/13 10:19:17 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp 2017/09/13 10:19:17 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp 2017/09/13 10:19:17 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp 2017/09/13 10:19:17 - d_proveedor - Iniciado despacho de la transformación [d_proveedor] org.pentaho.di.core.exception.KettleStepException: [b]Field [cuit] couldn't be found in the input stream![/b] at org.pentaho.di.trans.steps.textfileoutput.TextFileOutput.processRow(TextFileOutput.java:138) at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) at java.lang.Thread.run(Thread.java:745) 2017/09/13 10:19:18 - d_proveedor.txt.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Error inesperado 2017/09/13 10:19:18 - d_proveedor.txt.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : org.pentaho.di.core.exception.KettleStepException: 2017/09/13 10:19:18 - d_proveedor.txt.0 - Field [cuit] couldn't be found in the input stream! 2017/09/13 10:19:18 - d_proveedor.txt.0 - 2017/09/13 10:19:18 - d_proveedor.txt.0 - at org.pentaho.di.trans.steps.textfileoutput.TextFileOutput.processRow(TextFileOutput.java:138) 2017/09/13 10:19:18 - d_proveedor.txt.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) 2017/09/13 10:19:18 - d_proveedor.txt.0 - at java.lang.Thread.run(Thread.java:745) child index = 2, logging object : org.pentaho.di.core.logging.LoggingObject@6cafae75 parent=22d1fe6d-71a7-4f2d-841a-4d13ab659142 2017/09/13 10:19:18 - d_proveedor - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : ¡Errores detectados!
A partir de ahí revisé el archivo d_proveedor.ktr con el Spoon. Ese archivo hace una consulta SQL y vuelca los datos a un txt. El problema era que la consulta generaba registros con campos sin nombre. Cuando el siguiente paso quería volcar los registros al archivo txt no encontraba los campos (porque no tenían nombre definido). Al cambiarle el “AS…” de lugar los campos salieron con nombre y el proceso continuó exitosamente.

Me equivoqué al decir que la query provocó un error. La query funcionaba bien. Lo que falló fue el siguiente paso (el volcado de datos al txt).

Espero haber aclarado un poco.
Muchas gracias.
Saludos, Elián.

Se entendió perfecto. Lo vamos a revisar.
Muchas Gracias!

Estimados, estoy teniendo el mismo error.


2018/08/09 09:28:47 - principal_importacion_diaguita_dw - Entrada de comienzo [carga_datos_compras]
2018/08/09 09:28:47 - carga_datos_compras - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Ocurrió un error al ejecutar esta entrada de trabajo:
2018/08/09 09:28:47 - carga_datos_compras - Couldn't execute SQL: INSERT INTO diaguita.d_lugar_entrega SELECT * FROM diaguita_dsa.d_lugar_entrega
2018/08/09 09:28:47 - carga_datos_compras -
2018/08/09 09:28:47 - carga_datos_compras - ERROR: column "fecha_hasta" is of type date but expression is of type integer
2018/08/09 09:28:47 - carga_datos_compras -   Hint: You will need to rewrite or cast the expression.
2018/08/09 09:28:47 - carga_datos_compras -   Position: 45
2018/08/09 09:28:47 - principal_importacion_diaguita_dw - Entrada de comienzo [error de compras]
2018/08/09 09:28:47 - [ERROR]: Carga a dw de Compras - Se produjo un error en la carga de las Dimensiones y FT de compras.
2018/08/09 09:28:47 - principal_importacion_diaguita_dw - Entrada de comienzo [ERROR (4)]
2018/08/09 09:28:47 - ERROR (4) - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Se aborta el proceso de importación de pilagá

Me llama mucho la atencion, tambien, que en la ultima linea dice “se aborta el proceso de importacion de pilaga”.

Leyendo el hilo no me queda claro si lo resolvieron y/o como. Me podrian dar una mano?
Estamos en wichi 6.4.0 y diaguita 2.4.4

Saludos.

Hola Claudio, te pido por favor que corras estas sentencias en la base de datos de siu_wichi y luego vuelvas a probar la carga de diaguita.

DROP TABLE diaguita_dsa.d_lugar_entrega;

CREATE TABLE diaguita_dsa.d_lugar_entrega
(
id_lugar_entrega integer NOT NULL,
nombre_lugar_entrega character varying,
domicilio_lugar_entrega character varying,
localidad_lugar_entrega character varying,
codigo_postal_lugar_entrega character varying,
CONSTRAINT d_lugar_entrega_pkey PRIMARY KEY (id_lugar_entrega)
);

DROP TABLE diaguita.d_lugar_entrega;

CREATE TABLE diaguita.d_lugar_entrega
(
id_lugar_entrega integer NOT NULL,
nombre_lugar_entrega character varying,
domicilio_lugar_entrega character varying,
localidad_lugar_entrega character varying,
codigo_postal_lugar_entrega character varying,
CONSTRAINT d_lugar_entrega_pkey PRIMARY KEY (id_lugar_entrega)
);

Saludos,
Sabrina.

Ahora importa bien.

Muchas gracias, Sabrina!

Hola Sabrina,

Ahora estoy realizando la carga de datos de diaguita, y me da el error de la imagen adjunta al ejecutarlo…
La variable ${ruta_meta} que valor debería tener?
Nuevamente, agradezco la ayuda.

Saludos!


diaguita.PNG

diaguita.PNG_thumb.png

Hola Monica, por favor enviame la forma en que estas ejecutando el ETL . La sentencia kitchen.sh + parametros

Hola Sabrina,

La forma en que estoy ejecutando el ETL es:

Kitchen.bat /file=“C:\pentaho\SIU-Wichi_6.4.0\etl\carga_de_datos\diaguita\principal_carga_diaguita.kjb” /param=“base_wichi_clave=****” /param=“base_wichi_host=localhost” /param=“base_wichi_nombre=siu_wichi” /param=“base_wichi_puerto=5432” /param=“base_wichi_usuario=postgres” /param=“carga_comentario=ejemplo” /param=“carga_directorioTemporal=C:\pentaho\SIU-Wichi_6.4.0\etl\carga_de_datos\diaguita\temp” /param=“carga_instalacion=4-631”

Muchas gracias,

Saludos!

Hola Monica, no te esta tomando la ruta del directorio temporal. Pero para hacer la extracción de datos la uso, o sea que se perdió en medio del proceso.
Podrás correr el proceso nuevamente y enviarme el log completo?
Saludos,
Sabrina.

Hola Sabrina,
Adjunto archivo de log.
Saludos!


log.txt (48.5 KB)

Hola Monica, te hago una consulta, cambiaron algún path en el etl?? Porque en la extracción hace esto:

principal_generar_paquete - Entrada de comienzo [Leer xml]
2018/09/27 07:15:17 - Leer xml - Loading transformation from XML file [C:\pentaho\SIU-Wichi_6.4.0\etl\carga_de_datos\general\validaciones\leer_meta.ktr]
2018/09/27 07:15:17 - leer_meta - Iniciado despacho de la transformación [leer_meta]

Debería leer el archivo xml y se va a una parte de la importación leer meta.
Esta cargando el archivo C:\pentaho\SIU-Wichi_6.4.0\etl\carga_de_datos\general\validaciones\leer_meta.ktr
Cuando debería cargar C:\pentaho\SIU-Wichi_6.4.0\etl\carga_de_datos\general\validaciones\leer_xml.ktr

Ante la duda, lo que hice fue descomprimir la carpeta SIU-Wichi_6.4.0.zip y reemplazar mis archivos C:\pentaho\SIU-Wichi_6.4.0\etl\carga_de_datos\general\validaciones por los de la carpeta descomprimida C:\Users\Monica\Desktop\SIU-Wichi_6.4.0\SIU-Wichi_6.4.0\etl\carga_de_datos\general\validaciones y obtengo lo mismo…Adjunto log.txt

Agradezco tu ayuda!!


log.txt (53.6 KB)

Hola Sabrina,

Reemplaze los archivos todos los archivos C:\pentaho\SIU-Wichi_6.4.0\etl\carga_de_datos\general por los del .zip, ahora el error cambió… Lo raro es que algunos de los txts que genera parecen estar vacios…
Adjunto log.txt

Gracias nuevamente por la ayuda!


log.txt (503 KB)

Hola Monica, el erro lo tira al ejecutar un sql, no se si es que te da error la funcion o se te desconecta el postgres:

carga_dsa - Entrada de comienzo [preparar datos]
2018/09/27 10:00:32 - carga_dsa - Entrada de comienzo [loguear error]
2018/09/27 10:00:32 - ERROR - Se produjo un error al cargar las dimensiones en DSA

Podras correr en la base de datos siu_wichi la siguiente sentencia?

SELECT diaguita_dsa.podar_area();
TRUNCATE diaguita_dsa.d_area;

Contame si te dio error o no.
Gracias

Esta sentencia ya da error:
→ SELECT diaguita_dsa.podar_area();
ERROR: el valor null para la columna «codigo» viola la restricción not null
DETAIL: La fila que falla contiene (null).
CONTEXT: sentencia SQL: «INSERT INTO diaguita_dsa.w_areas_referenciadas (codigo)
SELECT DISTINCT id_area_solicitud FROM diaguita_tmp.ft_compras
WHERE id_area_solicitud NOT IN (SELECT codigo FROM diaguita_dsa.w_areas_referenciadas)»
función PL/pgSQL diaguita_dsa.podar_area() en la línea 16 en sentencia SQL

********** Error **********

ERROR: el valor null para la columna «codigo» viola la restricción not null
SQL state: 23502
Detail: La fila que falla contiene (null).
Context: sentencia SQL: «INSERT INTO diaguita_dsa.w_areas_referenciadas (codigo)
SELECT DISTINCT id_area_solicitud FROM diaguita_tmp.ft_compras
WHERE id_area_solicitud NOT IN (SELECT codigo FROM diaguita_dsa.w_areas_referenciadas)»
función PL/pgSQL diaguita_dsa.podar_area() en la línea 16 en sentencia SQL

Bien, te pido que corras el sql que te adjunto y vuelvas a probar el etl.


diaguita_640_650.sql (4.64 KB)

Genial! muchas gracias por la ayuda!
Saludos.