Modelo

Modal Nuevo Job

El modal Nuevo Job se lanza cada vez que hace clic en el botón New Job en la página Jobs (o cuando otros flujos de trabajo se refieren al motor de trabajos). Es un formulario multi-panel que se adapta a sus selecciones para producir ya sea un trabajo único o un pipeline reutilizable.

┌─────────────────────────────────────────────────────────────────────┐
│ Nuevo Job                                                           │
│ ┌───────────────────────────────────────────────────────────────┐   │
│ │ From ▾ | To ▾ | Rule ▾ | Load options ▾ | Transform ▾ | …     │   │
│ └───────────────────────────────────────────────────────────────┘   │
│      Los paneles se colapsan una vez configurados                   │
│      para que pueda escanear las filas de resumen                   │
└─────────────────────────────────────────────────────────────────────┘

Cuando se selecciona Manual execution o Repeat en el panel Schedule, el pie revela un campo requerido Pipeline name y el botón primario cambia a Save as Pipeline. En todos los otros casos el botón muestra Run Now o Run Later dependiendo del schedule seleccionado.

Resumen de paneles

PanelPropósitoTexto de resumen cuando se colapsa
FromElegir el tap fuente o un dataset guardado.Muestra el tap (con insignias de driver/env) o el nombre del dataset.
ToEnrutar los datos a un sink, tap, o dataset.Lista la acción del sink o dataset (nuevo, sobrescribir, fusionar).
RuleAdjuntar una regla de masking opcional y versión de schema.Muestra la regla seleccionada (o "No rule").
Load optionsAjustar batches y modo de escritura para el destino seleccionado.Resume el modo de escritura seleccionado y tamaños de batch read/write.
Transform options (condicional)Configurar determinismo, comportamiento del diccionario y manejo de foreign-keys cuando una regla está activa.Muestra determinismo + estado del diccionario.
ScheduleDecidir cuándo y con qué frecuencia ejecutar el trabajo.Muestra "Now", el timestamp programado, o cadencia del pipeline.

Las siguientes secciones detallan cada campo configurable.

Panel From

CampoControlDescripciónDependencias & valores por defecto
Selector de fuenteBotones de radio (Tap, Dataset)Elegir entre obtener datos directamente de su base de datos fuente (Tap) o comenzar desde un dataset existente.Por defecto Tap. Seleccionar Dataset habilitará el menú desplegable para elegir datasets.
Resumen del TapInformación de solo lectura con insigniasMuestra el nombre de su base de datos fuente, junto con la información del ambiente y driver.Siempre visible para confirmar su ambiente fuente antes de ejecutar.
DatasetMenú desplegableElegir un dataset existente para usar como fuente de datos.Requerido cuando se selecciona Dataset como fuente. Deshabilitado cuando se selecciona Tap como fuente.

Comportamiento interno:

  • Elegir Tap mantiene el tipo de trabajo alineado con el destino (pump/dump).
  • Seleccionar un dataset almacena su ID para uso en pasos posteriores (las operaciones de fusión y sobrescritura lo requieren).

Panel To

Opción de destinoControles adicionalesDescripciónDependencias & valores por defecto
SinkMenú desplegableEnviar la salida a uno de sus destinos configurados.Requerido cuando se selecciona. Establece el tipo de ejecución a load-to-sink. El tipo de trabajo se convierte en pump (fuente tap) o load (fuente dataset).
Overwrite current tapNingunoEscribir los datos directamente de vuelta a su base de datos fuente (solo disponible para ciertos tipos de bases de datos).Deshabilitado a menos que su base de datos fuente soporte operaciones de sobrescritura. Fuerza el modo de escritura a update.
New DatasetCampo de textoCrear un nuevo dataset para almacenar sus resultados; dejar en blanco para auto-generar un nombre.Disponible para todos los tipos de fuente. Establece tipo de trabajo a dump para fuentes tap, o pump para copias de dataset.
Overwrite datasetMenú desplegableReemplazar todos los datos en un dataset existente con sus nuevos resultados.Requerido cuando se selecciona. Mantiene tipo de trabajo sincronizado con la fuente (dump/pump).
Merge into datasetMenú desplegableAgregar nuevos datos a un dataset existente, combinando registros basados en su configuración del modelo.Requerido cuando se selecciona. Disponible para fuentes tap y dataset.

Detrás de escena el modal recalcula automáticamente los ajustes cada vez que cambia su fuente o destino. Esto previene combinaciones incompatibles (por ejemplo, cuando sobrescribe su base de datos fuente, ciertos modos de escritura como Truncate o Drop se deshabilitan automáticamente).

Panel Rule

CampoControlDescripciónNotas
ReglaMenú desplegableAdjuntar una regla de transformación/anonimización.Por defecto none. Obtiene opciones de la regla para que los paneles Load/Transform reciban valores prellenados.
Versión del SchemaMenú desplegableElegir el snapshot del schema que debe usarse durante la ejecución.Poblado desde las versiones disponibles del modelo. La última versión está etiquetada (Latest).
ConcurrenciaConfiguración de concurrenciaConfigurar límites de ejecución paralela de entidades heredados de la regla.Le permite balancear rendimiento vs uso de recursos por trabajo.

Seleccionar una regla desbloquea el panel Transform options descrito a continuación.

Transform options (condicional)

CampoDescripciónDetalles clave
DeterminismoAlternar entre Random y Deterministic.El modo determinístico requiere una semilla y garantiza salidas repetibles.
SemillaEntrada numérica con botón "Generate".Habilitada solo en modo determinístico. Acepta valores 1-9,999,999.
Verificar foreign keysMenú desplegable (Auto, Do not check, Force).Influye en throughput vs garantías de integridad referencial.
DiccionarioGrupo de radio (No dictionary, Field, Label, Global) mas casillas Cache, Keep, Overwrite.Refleja el comportamiento del diccionario documentado en la guía de Diccionario. Deshabilitado cuando no hay regla seleccionada.
Continuar streaming en caso de falloCasilla de verificaciónMantiene streaming después de errores a nivel entidad (por defecto: habilitado).

Panel Load options

Load options solo aparece cuando el destino implica escribir a un sink o tap. Para copias solo de dataset el panel se oculta automáticamente.

CampoControlDescripciónComportamiento & valores por defecto
Entidades destinoMenú desplegableEstrategia de escritura: Truncate, Drop, Append, Update, Merge.Por defecto Truncate. Las opciones disponibles dependen del tipo de destino seleccionado. Sobrescribir el tap restringe la lista a Update.
Contenido del StreamMenú desplegableControlar qué tipo de datos se cargan en la base de datos.Opciones: Data and metadata (por defecto), Data only, Metadata only.
Tamaño de batch de lecturaEntrada numéricaRegistros obtenidos por batch desde la fuente.Por defecto 32768. Las reglas pueden ajustar este valor.
Tamaño de batch de escrituraEntrada numéricaRegistros enviados por batch al destino.Por defecto 32768.
Trabajadores concurrentesEntrada numéricaEstablece trabajadores paralelos para la ejecución.Los valores por defecto se originan desde la regla seleccionada o valores iniciales del modal.

Opciones de contenido del Stream

La configuración de Contenido del Stream determina qué tipo de información se escribe en su base de datos durante la ejecución del trabajo:

  • Data and metadata (por defecto): Carga tanto sus registros de datos reales como metadata adicional sobre el procesamiento, incluyendo información del schema y estadísticas del trabajo.
  • Data only: Carga solo sus registros de datos reales sin ninguna información adicional de metadata.
  • Metadata only: Carga solo información de metadata sobre el procesamiento del trabajo sin sus registros de datos reales.

Impacto del tamaño de batch de escritura

El tamaño de batch de escritura afecta cómo se realizan los commits a su base de datos:

  • Tamaños de batch más pequeños: Proporcionan commits más frecuentes, lo cual puede ser útil para monitorear el progreso pero puede resultar en un procesamiento más lento debido al overhead de transacciones aumentado.
  • Tamaños de batch más grandes: Reducen el overhead de transacciones y pueden mejorar el throughput general, pero proporcionan actualizaciones de progreso menos frecuentes y pueden consumir más memoria durante el procesamiento.

Comportamiento de trabajadores concurrentes

La configuración de Trabajadores concurrentes controla el procesamiento paralelo pero con una limitación importante:

  • Cada trabajador procesa una tabla diferente en paralelo, permitiendo que múltiples tablas sean manejadas simultáneamente.
  • Una tabla individual nunca se actualiza en paralelo por múltiples trabajadores para mantener la consistencia de los datos.
  • Aumentar el número de trabajadores puede acelerar trabajos con múltiples tablas pero no mejorará el rendimiento para operaciones de tabla única.

Visualización de tamaño de batch y concurrencia

A continuación se muestra una visualización que demuestra cómo los tamaños de batch de lectura y escritura interactúan con los trabajadores concurrentes:

DB FuenteBatch lectura: 32768Trabajadores ConcurrentesT1T2T3Máx. concurrentes: 3DB DestinoBatch escritura: 32768Leer →Procesar← Escribir

Entendiendo la contrapresión (backpressure)

Cuando el tamaño del batch de lectura es significativamente mayor que el tamaño del batch de escritura, puede ocurrir contrapresión (backpressure). Esto significa que los datos se leen de la fuente más rápido de lo que se pueden escribir en el destino, causando una acumulación de datos en memoria.

Por ejemplo, si configura:

  • Tamaño de batch de lectura: 100,000 registros
  • Tamaño de batch de escritura: 1,000 registros
  • Trabajadores concurrentes: 3

Cada trabajador procesa 100,000 registros antes de pasar al siguiente batch, pero solo escribe 1,000 registros a la vez. Esto crea un buffer donde los datos procesados esperan ser escritos, consumiendo memoria. El sistema puede ralentizarse al intentar gestionar este backlog, y en casos extremos, podría quedarse sin memoria.

Para optimizar el rendimiento y el uso de memoria:

  • Mantenga los tamaños de batch de lectura y escritura relativamente equilibrados
  • Si necesita batches de lectura más grandes, considere aumentar proporcionalmente los tamaños de batch de escritura
  • Monitoree el uso de memoria de su sistema durante la ejecución del trabajo

Panel Schedule

ElecciónCampos adicionalesResultadoEtiqueta del botón primario
Run nowNingunoEl trabajo se envía inmediatamente.Run Now
ScheduleSelector de fecha y horaCrea una ejecución programada única; aparece en la pestaña Scheduled hasta la ejecución.Run Later
Manual executionNombre del pipeline (en el pie del modal)Guarda la configuración como un pipeline manual; no se encola ejecución.Save as Pipeline
RepeatSelector de fecha y hora, Intervalo (número), Unidad de repetición (Hour/Day/Month/Year), Nombre del pipelineProduce un pipeline con metadata de recurrencia.Save as Pipeline

Resúmenes de schedule cuando se colapsa

Cuando configura sus opciones de programación, el panel se colapsará y mostrará un resumen de su selección:

┌────────────┬────────────────────────────────────────────┐
│ Run now    │ El resumen muestra: "Run: Now"             │
├────────────┼────────────────────────────────────────────┤
│ Schedule   │ Muestra la fecha y hora programada         │
├────────────┼────────────────────────────────────────────┤
│ Manual     │ Muestra "Run pipeline manually"            │
├────────────┼────────────────────────────────────────────┤
│ Repeat     │ Muestra fecha/hora de siguiente            │
│            │         ejecución + intervalo (e.g.        │
│            │ "Next: 2024-07-24 18:00 — Every 1 day")    │
└────────────┴────────────────────────────────────────────┘

Uniéndolo todo

  1. Comience con From y To. Estos dos paneles determinan cómo fluirán sus datos y configuran automáticamente los ajustes apropiados para los pasos siguientes.
  2. Opcionalmente seleccione una Rule para aplicar lógica de masking o transformación; hacerlo habilitará opciones adicionales de configuración.
  3. Use Load options y Transform options para ajustar finamente throughput, determinismo y manejo del diccionario.
  4. Finalice en el panel Schedule. Si opta por crear un pipeline reutilizable, proporcione un nombre único en el pie del modal antes de guardar.
  5. Revise los resúmenes colapsados. Cada encabezado destaca campos requeridos faltantes en naranja para que las configuraciones incorrectas sean fáciles de detectar.

Cerrar el modal limpia todas sus selecciones para que cada nuevo trabajo comience con ajustes por defecto limpios.