Transformación de búsqueda en Informatica (ejemplo)

⚡ Resumen inteligente

La transformación de búsqueda en Informatica lee una tabla relacional, un archivo plano, una vista o un sinónimo y devuelve los valores coincidentes para cada fila entrante, funcionando como una unión en la que un lado es la fuente de búsqueda.

  • 🔎 La condición física determina el resultado del partido: La pestaña Condición contiene la comparación, como DEPTNO = DEPTNO1, que decide qué fila de búsqueda se devuelve.
  • 🧪 Ejemplo trabajado: Mapa de sieteping Los pasos del diseñador obtienen los nombres de los departamentos de DEPT en un destino EMP_DEPTNAME sin un Joiner.
  • ???? Conectado o desconectado: Una búsqueda conectada se encuentra en la tubería, mientras que una búsqueda no conectada se llama desde una expresión con el calificador :LKP.
  • 🇧🇷 Pasivo por defecto: Devolver una sola fila mantiene la transformación pasiva, y devolver todas las filas coincidentes la activa.
  • ♻️ Objetos reutilizables: Marcar la opción "Hacer reutilizable" convierte una transformación en un objeto de varios mapas.pings pueden compartir.
  • ⚠️ Promoción unidireccional: Una transformación que se ha convertido en reutilizable no se puede degradar, por lo que conviene leer atentamente el mensaje de confirmación.

Transformación de búsqueda en Informatica

¿Qué es la transformación de búsqueda?

La transformación de búsqueda se utiliza para consultar una fuente, un calificador de fuente o un destino y obtener los datos relevantes. Básicamente, es una operación de unión en la que una de las tablas de unión es la fuente de datos y la otra es la tabla de búsqueda. La fuente de búsqueda puede ser una tabla relacional, una vista, un sinónimo o un archivo plano.

La transformación es pasiva mientras devuelve una sola fila por cada fila de entrada. A partir de PowerCenter 9.x, también se puede configurar para que devuelva todas las filas que cumplan la condición; en ese caso, se trata de una transformación activa. Esta opción se elige al crear la transformación y no se puede modificar posteriormente.

Hay dos maneras de colocarlo en un mapa.pingy la diferencia decide cómo el valor devuelto llega al resto del proceso.

Aspecto Búsqueda conectada Búsqueda no conectada
Posición Se ubica dentro del flujo de datos y recibe valores de la transformación anterior. Se encuentra fuera de la tubería y se llama desde una expresión.
Cómo se llama Las filas fluyen hacia sus puertos de entrada. Llamada con el calificador de referencia :LKP
Valores devueltos Se pueden conectar varios puertos de salida en sentido descendente. Un valor de retorno vuelve a la expresión que realizó la llamada.
Uso típico Cada fila necesita las columnas consultadas. La búsqueda solo es necesaria para algunas filas, o la misma búsqueda se llama desde varios lugares.

En temas anteriores, utilizamos el Transformación de carpintero para unir las tablas “emp” y “dept” para obtener los nombres de los departamentos. En esta sección, implementaremos lo mismo utilizando la transformación Lookup.

Cómo crear una transformación de búsqueda

A continuación se detallan los pasos para crear una transformación de búsqueda en Informatica.

Paso 1) Crea un nuevo mapaping con EMP como origen y EMP_DEPTNAME como destino. El mapaping El lienzo del diseñador contiene entonces la fuente, su calificador de fuente y la definición de destino.

Mapearping Lienzo de diseño con la fuente EMP, su calificador de fuente y el destino EMP_DEPTNAME.

Paso 2) Cree una nueva transformación utilizando el menú Transformación y, a continuación, en la ventana Crear transformación:

  1. Seleccione la transformación de búsqueda como transformación.
  2. Ingrese el nombre de la transformación "lkp_dept"
  3. Seleccione la opción de crear

Crear ventana de transformación con la opción Transformación de búsqueda seleccionada y el nombre lkp_dept introducido.

Paso 3) Esto abrirá la ventana de la tabla de búsqueda. En esta ventana:

  1. Botón Seleccionar fuente
  2. Seleccionar tabla DEPTO
  3. Seleccione el botón Aceptar

Seleccione el cuadro de diálogo Tabla de búsqueda con el botón Origen seleccionado y la tabla DEPT resaltada.

Paso 4) Se creará una transformación de búsqueda con las columnas de la tabla DEPT; ahora seleccione el botón "Listo". El objeto lkp_dept ahora contiene DEPTNO, DNAME y LOC como puertos de búsqueda.

Transformación de búsqueda lkp_dept creada con las columnas de la tabla DEPT como puertos de búsqueda

Paso 5) Arrastre y suelte la columna DEPTNO del Calificador de origen a la transformación de Búsqueda; esto creará una nueva columna, DEPTNO1, en la transformación de Búsqueda. A continuación, vincule la columna DNAME de la transformación de Búsqueda a la tabla de destino.

La transformación Lookup buscará y devolverá el nombre del departamento según el valor de DEPTNO1. DEPTNO1 es el puerto de entrada que contiene el número de departamento del empleado, mientras que DEPTNO sigue siendo el puerto leído de la tabla de búsqueda DEPT.

DEPTNO vinculado desde el calificador de origen a lkp_dept y DNAME vinculado al destino EMP_DEPTNAME

Paso 6) Double Haz clic en la transformación de búsqueda. Luego, en la ventana de edición de transformación:

  1. Seleccionar pestaña de condición
  2. Establezca la columna de condición en DEPTNO = DEPTNO1
  3. Seleccione el botón Aceptar

Pestaña Condición de la ventana Editar transformaciones con la condición DEPTNO = DEPTNO1 ingresada

Paso 7) Vincula el resto de las columnas del Calificador de origen con la tabla de destino.

Columnas restantes del calificador de origen vinculadas a la tabla de destino EMP_DEPTNAME

Ahora guarda el mapaping y ejecutarlo después de crear la sesión y el flujo de trabajo. Este mapaping Obtendrá los nombres de los departamentos utilizando la transformación Lookup.

La transformación de búsqueda está configurada para buscar en la tabla DEPT, y la condición de unión se establece en función del número de departamento. Si más de una fila de DEPT cumple la condición, la propiedad Política de búsqueda en coincidencias múltiples de la pestaña Propiedades determina qué valor se devuelve.

Transformación reutilizable

Una transformación normal es un objeto que pertenece a un mapa.ping y se puede utilizar dentro de ese mapa.ping solamente. Sin embargo, al hacer que una transformación sea reutilizable, se puede reutilizar dentro de varios mapas.pings.

Por ejemplo, una transformación Lookup que recupera los detalles del empleado en función del número de empleado se puede utilizar en múltiples mapas.pingdondequiera que se requieran los datos del empleado.

Al utilizar una transformación reutilizable, se reduce el trabajo extra de crear la misma funcionalidad nuevamente. Cada mapaping Contiene una instancia del objeto almacenado, por lo que cualquier cambio realizado en la transformación reutilizable afecta a todos ellos.

Cómo crear una transformación reutilizable

A continuación se detallan los pasos para crear una transformación reutilizable.

Paso 1) Abre el mapaping que está teniendo la transformación, aquí estamos haciendo la Transformación de rango reutilizable

Mapearping abierto en el Diseñador con la transformación de Rango que está a punto de hacerse reutilizable

Paso 2) Double Haz clic en la transformación para abrir la ventana de edición de la transformación. A continuación:

  1. Seleccione la pestaña Transformación en la ventana.
  2. Seleccione la casilla de verificación para que la transformación sea reutilizable
  3. Seleccione sí en la ventana de confirmación
  4. Seleccione Aceptar en la ventana de propiedades de transformación.

Pestaña Transformación de la ventana Editar transformaciones con la casilla de verificación Hacer reutilizable seleccionada.

Esto hará que la transformación sea reutilizable. Vale la pena leer la ventana de confirmación en el tercer elemento antes de aceptarla: promover una transformación a reutilizable es un cambio irreversible en el Diseñador, y el objeto no se puede degradar posteriormente. Donde un solo mapaping necesita su propia copia, arrastre el objeto reutilizable al lienzo mientras mantiene presionada la tecla Ctrl para crear una instancia no reutilizable en su lugar.

Preguntas Frecuentes

Una caché carga la fuente de búsqueda en la memoria una sola vez, de modo que cada fila se compara localmente en lugar de consultar la base de datos. El almacenamiento en caché es adecuado para fuentes de búsqueda pequeñas o que se consultan repetidamente; una búsqueda sin caché consulta la fuente para cada fila entrante.

Utilice una función de búsqueda cuando una de las tablas de referencia sea pequeña y solo se necesiten unas pocas columnas, especialmente cuando se lea la misma referencia desde varios lugares. Una función de unión es adecuada para unir dos grandes flujos de datos heterogéneos.

La política de búsqueda en la propiedad de coincidencia múltiple determina si se debe devolver un error o si se debe devolver el primer, el último o cualquier valor coincidente. Si se elige devolver todos los valores coincidentes, la transformación se activa y debe configurarse al momento de la creación.

Generalmente, esto se debe a que la fuente de búsqueda es grande. Una búsqueda sin caché consulta la base de datos una vez por fila, mientras que una búsqueda con caché incurre en el costo de compilación por adelantado. Eliminar los puertos de búsqueda no utilizados y reducir el tamaño de la consulta de búsqueda son medidas útiles.

El aprendizaje automático se utiliza en las herramientas modernas de integración de datos para sugerir coincidencias de columnas entre una tabla de origen y una tabla de referencia, así como para identificar las búsquedas que consumen más tiempo de ejecución. Sin embargo, cada sugerencia debe verificarse con los datos reales.

Copilot ayuda con el texto que rodea el mapa.ping En lugar del lienzo del Diseñador, busca anulaciones SQL, archivos de parámetros y scripts que ejecutan flujos de trabajo. No puede acceder al repositorio, por lo que los nombres de los puertos y las condiciones deben verificarse manualmente.

Una transformación reutilizable es un único objeto almacenado compartido por varios mapas.pings. Un mapplet es un conjunto reutilizable de transformaciones, con grupos de entrada y salida, que empaqueta una pieza lógica completa en lugar de un solo paso.

Ninguna fila de la fuente de búsqueda satisfizo la condición para esas filas de entrada. Compruebe si hay espacios finales, diferencias de mayúsculas y minúsculas y discrepancias en el tipo de datos entre los dos puertos, ya que la comparación es exacta.

Resumir este post con: