Flujos de datos: la piedra angular de los ejemplos de integración de datos 6-20

By |2019-08-23T06:09:25+00:0029 de septiembre de 2014.|

Ejemplo 11. Este subflujo contiene una lógica compleja para procesar fechas. La mayoría de los campos de entrada se pasan sin procesamiento adicional desde la entrada del subflujo hasta la salida del subflujo. Los campos de fecha, por otro lado, se procesan mediante un conjunto de expresiones, funciones de fecha y listas de búsqueda para crear una representación de fecha personalizada según lo requiera la aplicación.

Ejemplo 12. Este flujo de datos llama a un subflujo (Subflujo1) para procesar los nombres de los clientes. Los nombres de los clientes se obtienen de una tabla de base de datos y se pasan al subflujo que contiene la lógica de análisis de nombres. Los nombres analizados que salen del subflujo se escriben en un archivo delimitado. El subflujo actúa como una caja negra que oculta la lógica interna del flujo de datos de llamada. Este diseño simplifica el diagrama visual general, lo que permite al arquitecto centrarse en lo que hace el subflujo en lugar de en cómo lo hace.

Ejemplo 13. Este flujo de datos lee un conjunto de tablas de bases de datos relacionadas usando una consulta de múltiples tablas (también conocido como modelo de datos). Luego aplica una regla de calidad de datos para filtrar los registros no deseados de la tabla de origen principal. Los registros restantes se eliminan de una tabla de destino (esto se logra mapeando al nodo Input_Delete en el objeto de la base de datos de destino). Finalmente, los registros también se insertan en una segunda tabla de base de datos (objeto DatabaseDest2).

Ejemplo 14. Este es un flujo de datos simple que lee dos archivos delimitados. Se lee un solo Field Loan_ID de la primera fuente y se escribe en una cola de mensajes privados (MQDest1). El campo se envía a la cola de mensajes "tal cual", ya que no hay transformaciones adicionales mientras viaja desde el origen al destino.

En contraste, todos los campos se leen desde la segunda fuente y luego se insertan en una tabla de base de datos. Al igual que con la otra fuente, los campos se escriben 'tal como están', ya que están conectados desde la fuente al destino mediante mapas directos.

 

Ejemplo 15. Este flujo de datos lee los datos de la base de datos mediante una consulta SQL personalizada (SQLQuerySource1). Luego, los campos se escriben en una tabla DB2. El procesamiento adicional se aplica al campo DEPENDENTCARE mediante un objeto de expresión personalizada (Ex_Start_Date). Se escribe un valor constante en el campo SKIPPED_COUNT y los valores de parámetro dinámico para Collection_Name y Package_Name se escriben en sus campos de destino correspondientes. El mismo registro también se escribe en un archivo de Excel. El objeto Profile1 crea un perfil de datos para capturar el estado de cada registro, incluidos los éxitos, errores, advertencias u otras condiciones.

Ejemplo 16. Este flujo de datos transforma una fuente XML jerárquica en tres destinos planos: archivo de Excel, archivo delimitado y tabla de base de datos. No se aplica ningún procesamiento o transformación adicional a los campos a medida que se escriben en el destino (los campos se asignan mediante el mapeo directo). Observe que cada destino recibe datos de un nodo diferente dentro de la estructura de origen jerárquica. Como resultado, probablemente habrá un número diferente de registros escritos en cada destino. También observe que la tabla de destino de la base de datos recibe campos de dos nodos: fila y val, de hecho, crea una combinación de clases en los datos entrantes.

 

Ejemplo 17. Este flujo de datos simple lee el contenido de cada archivo de la carpeta seleccionada y lo escribe en una tabla de base de datos. Toda la secuencia que contiene el contenido de un archivo se escribe en el campo Valor de la tabla de destino. Se utiliza un campo adicional FullPath para almacenar la ruta de red del archivo cuyo contenido se escribe en el campo de valor de la tabla. La lectura del contenido del archivo se realiza mediante la función ReadFileBytes incorporada. Esta función acepta la ruta del archivo como parámetro de entrada y devuelve el contenido del archivo en su valor de salida.

 

Ejemplo 18. Este flujo de datos lee una tabla de base de datos, filtra registros con Ciudad = 'Los Ángeles' y actualiza esos registros en una tabla de base de datos de destino. La conexión de la base de datos de origen se gestiona mediante un objeto de conexión compartido DbConnection1. Esta configuración permite al usuario actualizar rápidamente la conexión según sea necesario al implementar el flujo de datos en un nuevo entorno.

 

Ejemplo 19. Este flujo de datos lee un archivo de informe y aplica un conjunto de expresiones y funciones integradas para procesar los campos AccountNumber, FileDate y Amount. Se configura un conjunto de parámetros con valores predeterminados para alimentar la expresión ImportDescription, así como escribir directamente en varios campos de destino. El campo AccountNumber es procesado por la función IsNumeric para determinar si es un número y luego se convierte al tipo de datos Integer antes de escribirlo en el destino AccountNumber. El campo FileDate es procesado por la función ParseDate que extrae Año, Mes y Fecha del valor de la fecha. La salida de la función ParseDate se alimenta a la función FormatDate para convertir la fecha al formato deseado. Finalmente, los valores transformados se escriben en un archivo delimitado mediante una asignación personalizada de campo a campo.

Ejemplo 20. En este flujo de datos, los datos provienen de dos fuentes: un archivo plano y una tabla de base de datos. Los datos entrantes de las dos fuentes se combinan en un solo conjunto de registros, que luego se clasifica y finalmente se procesa mediante una estrategia de escritura de base de datos que controla qué acción, como insertar, actualizar, eliminar u otra cosa, debe realizarse para cada registro en curso en la tabla de la base de datos de destino. Un campo designado en la tabla de la base de datos de destino también recibe algún valor constante para todos los registros provenientes de la estrategia de escritura de la base de datos.

Los datos de las dos fuentes también se introducen en un segundo destino, que es un archivo XML. El archivo XML recibe una instantánea de todos los registros combinados de las fuentes de flujo de datos. Los registros se escriben en el archivo XML sin clasificar, tal como lo genera el objeto Merge.

Hay dos tipos de registros presentes en el flujo de datos para garantizar el registro y la creación de perfiles de los datos. Un registro de nivel de registro recopila el estado de los registros creados por la estrategia de escritura de la base de datos. Un objeto de perfil de datos también captura el resumen y los datos estadísticos de los valores que van a la tabla de la base de datos de destino. Finalmente, se aplica una expresión para algunos de los valores de origen, y el resultado de la expresión se recopila mediante un objeto de perfil de campo, lo que facilita la vista previa de las estadísticas en el momento del diseño del flujo de datos para fines de control de calidad o depuración.

También está presente en el flujo de datos una conexión compartida, que hace posible que otros objetos puedan reutilizar la conexión a la base de datos si es necesario. Finalmente, los parámetros y los objetos ContextInfo proporcionan información de contexto adicional, como el nombre del servidor o la cuenta de usuario que ejecuta el flujo de datos.