Dova Docs26.0.0
Abrir Dova

Antes de comenzar

Este ejercicio utiliza dos fuentes: transacciones y catálogo de clientes. El resultado debe sumar únicamente transacciones aprobadas por región. Prepara un runtime que admita dos entradas y Join; el adaptador genérico de streaming lineal no ejecuta ese grafo. Ambos archivos deben estar disponibles mediante bindings autorizados.

Usa las tablas pequeñas de este capítulo, sin descargar paquetes antiguos. Antes de diseñar, confirma la unicidad de customer_id en clientes: duplicados pueden multiplicar filas y aumentar el total.

Procedimiento

  1. Crea una entrada TXT delimitada por | con customer_id, amount, status. En Flat File input selecciona format=txt, delimiter=|, hasHeader=true.
  2. Crea un Excel con hoja Customers y cabecera customer_id,region. En Excel input selecciona esa hoja, cabecera en fila 1 y datos desde fila 2.
  3. Convierte customer_id a integer en ambas ramas. En transacciones convierte amount a number con outputField=amount_number y onError=fail.
  4. En la rama de clientes, limpia region con trim y upper. En transacciones, filtra status=APPROVED con Row filter.
  5. Une ambas ramas mediante Join inner: transacciones a la izquierda, clientes a la derecha; claves customer_id, keyType=integer, nullsEqual=false. Selecciona los identificadores reales de los componentes conectados.
  6. Agrupa por region: metric=sum, field=amount_number, outputField=total. Ordena por total descendente y selecciona region,total antes del destino CSV.

Ejemplo sintético

Transacciones:

customer_id|amount|status
1|10|APPROVED
1|5|APPROVED
2|7|APPROVED
2|99|REJECTED

Filas de la hoja Customers:

customer_id,region
1,NORTH
2,SOUTH

Resultado esperado:

region,total
NORTH,15.0
SOUTH,7.0

La representación textual del número puede variar según el formato numérico; comprueba los totales numéricos 15 y 7 y el orden configurado.

Comprobar el resultado

Calcula el resultado de forma independiente: ignora la fila REJECTED y suma 10+5 para NORTH y 7 para SOUTH. Espera dos filas y exactamente dos columnas. Confirma que el Join encontró todos los identificadores aprobados y no expandió filas por duplicados. Guarda y publica el Mapping aceptado, configura ambos bindings en la Session y ejecuta un Workflow de laboratorio.

Group aggregate devuelve solo claves de agrupación y métrica; no conserva el detalle original de cada transacción.

Resolver problemas

Si faltan regiones, revisa tipos de claves, datos no coincidentes y tipo de Join. Si los totales aumentan, revisa duplicados en el catálogo. Si una región aparece separada por espacios o mayúsculas, revisa Clean text antes del agregado. Un error de streaming puede ser incompatibilidad de topología, no un dato incorrecto. Para importes reales define precisión, moneda y redondeo por separado; este ejemplo no establece una política contable.

Buscar en el manual

Escribe al menos dos caracteres.

Tab para recorrer los resultados · Escape para cerrar