0 / 0
Volver a la versión inglesa de la documentación

Consideración sobre el final de la onda (DataStage )

Última actualización: 12 mar 2025
Consideración sobre el fin de ola en DataStage

En los trabajos paralelos de DataStage® , algunas etapas pueden enviar un marcador de fin de ciclo (EOW), que indica el final de una unidad de trabajo o transacción. Cuando todos los registros que se extraen del enlace de entrada se incluyen en una unidad de trabajo (llamada una sola ola), la etapa Excel genera hojas de Microsoft Excel que contienen el número máximo de registros hasta que se graban todos los registros.

Por ejemplo, suponga que la etapa Excel tiene dos enlaces de entrada, DSLink1 y DSLink2. DSLink1 está asociado con Sheet1 y DSLink2 está asociado con Sheet2. El número máximo de registros en una hoja es de 65.536 y DSLink1 tiene 100.000 registros; DSLink2 tiene 150.000 registros. Cada hoja no tiene nombres de columna en la primera fila. En este caso, se incluye el siguiente número de registros en cada hoja de cada archivo.
Nombre de archivo Sheet1 Sheet2
Workbook001.xlsx 65.536 65.536
Workbook002.xlsx 34.464 65.536
Workbook003.xlsx 0 18.928
Cuando los registros que se extraen del enlace de entrada se dividen en dos o más unidades de trabajo (denominadas varias olas), la etapa Excel detiene la grabación de registros en la hoja de Microsoft Excel y crea un nuevo archivo de Microsoft Excel si el número de registros de una ola supera el número máximo en al menos una hoja. La etapa Excel no graba ningún registro en la siguiente ola en el archivo anterior, incluso si una hoja puede contener más registros. Por ejemplo, suponga que cada enlace contiene el siguiente número de registros en cada ola.
Nº de ola DSLink1 DSLink2
1 90.000 50.000
2 5.000 90.000
3 5.000 10.000

En la primera ola, la etapa Excel crea un archivo de Microsoft Excel llamado Workbook001.xlsx que tiene dos hojas, Sheet1 y Sheet2. La etapa Excel graba registros que se extraen de DSLink1 a Sheet1 hasta que lee el número máximo de registros (65.536) y graba todos los registros (50.000) de DSLink2 a Sheet2. A continuación, la etapa Excel crea un archivo de Microsoft Excel llamado Workbook002.xlsx y escribe el resto de los registros (24.464) en la primera ola y todos los registros (5.000) en la segunda ola de DSLink1 a Sheet1. Aunque Sheet2 de Workbook001.xlsx no supera el número máximo de registros, la etapa Excel graba registros (65.536) en la segunda ola extraídos de DSLink2 a Sheet2 de Workbook002.xlsx, no Workbook001.xlsx. Cuando el número de registros de la segunda ola de DSLink2 supera el número máximo, la etapa Excel crea un archivo de Microsoft Excel denominado Workbook003.xlsx y graba el resto de los registros (24.464) en la segunda ola de DSLink2 a Sheet2 de Workbook003.xlsx. Para la tercera ola, debido a que las dos hojas tienen suficiente espacio, la etapa Excel graba todos los registros extraídos de DSLink1 (5.000) y DSLink2 (10.000) a Sheet1 y Sheet2 de Workbook003.xlsx.

Como resultado, se graba el siguiente número de registros en cada hoja de cada archivo:
Nombre de archivo Sheet1 Sheet2
Workbook001.xlsx 65.536 de la primera ola 50.000 procedentes de la primera ola
Workbook002.xlsx 29.464 (= 24.464 de la primera ola + 5.000 de la segunda ola) 65.536 procedentes de la segunda ola
Workbook003.xlsx 5.000 de la tercera ola 34.464 (= 24.464 de la segunda ola + 10.000 de la tercera ola)