Dova Docs6.0.2

POC 2: unir TXT y Excel para obtener un resumen regional

Manual completo ↗

Esta POC combina transacciones sintéticas delimitadas por | con un catálogo de clientes en Excel. Ambos archivos contienen 1.000 filas de datos. La cadena conserva las transacciones aprobadas, relaciona cada cliente con su región y genera un CSV de cuatro filas. El caso muestra cómo revisar un proceso con varias fuentes, claves con representaciones diferentes y una agregación cuyo resultado puede calcularse independientemente.

Entradas y resultado esperado

En el paquete de muestras, inputs/transactions.txt contiene customer_id, amount y status. El identificador y el importe se leen desde texto. El estado alterna de manera determinista: cada quinta transacción se marca REJECTED y las restantes, APPROVED. No se utilizan pagos ni identificadores procedentes de un sistema externo.

inputs/customers.xlsx tiene una hoja denominada Customers, con encabezado y 1.000 filas en las columnas A a C: customer_id, customer_name y region. El identificador se interpreta como entero. Los nombres y regiones contienen variaciones de espacios y acentos para que la limpieza tenga un efecto observable. El archivo esperado, expected/regional_approved_totals.csv, contiene únicamente sales_region y approved_total.

Revisar las ocho transformaciones

La primera rama convierte el importe del TXT a un campo numérico amount_number. La segunda limpia nombre y región del Excel: recorta espacios, compacta espacios repetidos, retira acentos y convierte a mayúsculas. Mantener estas ramas separadas permite localizar un problema de parsing antes de atribuirlo al join.

El Join es de tipo inner, utiliza customer_id en ambos lados y compara claves como enteros. Esta configuración es importante porque una fuente llega desde texto y la otra desde una celda numérica. El lado izquierdo proviene de la conversión del TXT y el derecho de la limpieza del XLSX. La estrategia declarada es hash; los valores nulos no se consideran iguales.

Después del Join se filtran las transacciones APPROVED. Aggregate agrupa por región y suma amount_number en total_amount. Sort ordena ese total de mayor a menor. Rename cambia los nombres a sales_region y approved_total; Select conserva exactamente esos dos campos. El destino serializa un CSV UTF-8 con encabezado y salto de línea LF.

Ejecutar sin conexiones externas

Con el checkout autorizado y sus dependencias preparados, descargue y extraiga el paquete. Desde la carpeta extraída, indique la ruta del checkout:

python .\run_pocs.py --repo C:\ruta\DovaETL --report .\verification.json

El wrapper comprueba también la primera POC. Sustituya la ruta ilustrativa por su checkout real. El README del laboratorio resume requisitos y archivos. No indique una URL ni una clave: este ejercicio trabaja con bytes de archivos locales. El directorio temporal recibe copias de las muestras y se elimina al terminar; el informe opcional sólo contiene nombres de POC, conteos, hashes y resultados de comparación.

El programa verifica integridad de los archivos, valida las definiciones y resuelve los bindings source_txt y source_xlsx utilizando sus nombres reales. Comprueba además que los metadatos de lectura reporten 1.000 filas para la hoja Customers. Un error de nombre de hoja o de selección de filas debe investigarse como un problema de entrada, antes de revisar la agregación.

Aceptación y diagnóstico

El oráculo independiente construye un diccionario de regiones por identificador entero. Recorre las transacciones, descarta las rechazadas, agrupa los importes por región, suma y ordena. No reutiliza el operador Join ni Aggregate del motor. La salida se acepta cuando contiene cuatro filas y coincide byte por byte tanto con el oráculo como con el CSV esperado incluido.

Los importes de esta muestra usan la representación numérica definida por el ejemplo. El ejercicio no establece una política contable universal de redondeo. Para datos financieros reales, acuerde precisión, escala, moneda y momento de redondeo antes de diseñar su regla; no deduzca esas decisiones del formato que una hoja de cálculo muestra visualmente.

Si obtiene menos regiones, revise claves sin correspondencia y la condición de Join. Si los totales parecen duplicados, revise unicidad del catálogo de clientes: varias coincidencias pueden multiplicar filas antes de sumar. Si aparecen regiones separadas por acentos o espacios, examine la rama de limpieza. Si el CSV tiene columnas adicionales, compruebe Rename y Select, además de la configuración del destino.

Trasladar el caso a un Workflow

Revise los nodos en Mappings y configure ambos bindings en Sessions. No trate una carga de archivo única como sustituto de las dos fuentes. Para ejecutar desde la CLI existe la opción multifuente descrita en la guía de automatización; utilice los identificadores de tarea y nodo de su propia definición.

Publique las dependencias y pruebe manualmente antes de programar el Workflow. Compare los archivos de salida y el estado observado en Monitor. Conserve el identificador de ejecución y las versiones empleadas. El éxito de la POC local demuestra el contrato de transformación sobre estas muestras; la autorización, las rutas remotas y la capacidad del worker requieren su propia comprobación en el laboratorio.

Buscar documentación

Escriba al menos dos caracteres.

Tab para recorrer resultados · Escape para cerrar