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

Etapa de búsqueda en DataStage

Última actualización: 12 mar 2025
Etapa Búsqueda en DataStage

La etapa Búsqueda se utiliza para realizar operaciones de búsqueda en un conjunto de datos que se lee en memoria desde cualquier otra etapa de trabajo paralelo que pueda generar datos de salida. El uso más común para una búsqueda es correlacionar códigos cortos en el conjunto de datos de entrada con información ampliada de una tabla de búsqueda que luego se une a los datos entrantes y a la salida.

La etapa Búsqueda es una etapa de proceso. Se utiliza para realizar operaciones de búsqueda en un conjunto de datos que se lee en memoria desde cualquier otra etapa de trabajo paralelo que pueda generar datos de salida. También puede realizar búsquedas directamente en una base de datos o en una tabla de búsqueda contenida en una etapa de conjunto de archivos de búsqueda.

El uso más común para una búsqueda es correlacionar códigos cortos en el conjunto de datos de entrada en información expandida de una tabla de búsqueda, que luego se une a los datos de entrada y salida. Por ejemplo, puede tener un conjunto de datos de entrada con nombres y direcciones de los clientes de EE.UU. Los datos tal como se presentan identifican el estado como un código postal de EE.UU. de dos letras, pero desea que los datos lleven el nombre completo del estado. Puede definir una tabla de búsqueda que lleve una lista de códigos coincidentes con los estados, definiendo el código como la columna de clave. A medida que la etapa Búsqueda lee cada línea, utiliza la clave para buscar el estado en la tabla de búsqueda. Añade el estado a una nueva columna definida para el enlace de salida y, por lo tanto, el nombre de estado completo se añade a cada dirección. Si los códigos de estado se han especificado incorrectamente en el conjunto de datos, el código no se encontrará en la tabla de búsqueda, por lo que el registro se rechazará.

Las búsquedas también pueden utilizarse para la validación de una fila. Si no hay ninguna entrada correspondiente en una tabla de búsqueda para los valores de la clave, la fila se rechaza.

La etapa Búsqueda es una de las tres etapas que unen tablas en función de los valores de las columnas de claves. Las otras dos son:

Las tres etapas difieren principalmente en la memoria que utilizan, el tratamiento de las filas con claves no coincidentes y sus requisitos para los datos que se introducen (por ejemplo, si se ordenan). Consulte "Búsqueda frente a unión"para obtener ayuda para decidir qué etapa utilizar.

La etapa Búsqueda puede tener un enlace de referencia, un único enlace de entrada, un único enlace de salida y un único enlace de rechazo. En función del tipo y el valor de las etapas que proporcionan la información de búsqueda, puede tener varios enlaces de referencia (donde busca directamente una tabla Db2 o una tabla Oracle , sólo puede tener un único enlace de referencia). Gran parte de la configuración de una operación de búsqueda tiene lugar en la etapa que proporciona la tabla de búsqueda.

El enlace de entrada transporta los datos del conjunto de datos de origen y se conoce como el enlace primario.

Para cada registro del conjunto de datos de origen del enlace primario, la etapa Búsqueda realiza una búsqueda de tabla en cada una de las tablas de búsqueda que se adjuntan mediante enlaces de referencia. La búsqueda de tablas se basa en los valores de un conjunto de columnas de claves de búsqueda, un conjunto para cada tabla. Las claves se definen en la etapa Búsqueda. Para las búsquedas de datos a los que se accede mediante la etapa Conjunto de archivos de búsqueda, las claves se especifican cuando se crea el conjunto de archivos de búsqueda.

Puede especificar una condición en cada uno de los enlaces de referencia, como por ejemplo que la etapa sólo realizará una búsqueda en dicho enlace de referencia si se satisface la condición.

Las etapas Búsqueda no requieren datos en el enlace de entrada ni enlaces de referencia que se deben ordenar. No obstante, tenga en cuenta que disminuirá el rendimiento de las tablas de búsqueda de la memoria debido a sus requisitos de paginación.

Cada registro del conjunto de datos de salida contiene columnas de un registro de origen más columnas de todos los registros de búsqueda correspondientes, donde los registros de origen y de búsqueda correspondientes tienen el mismo valor para las columnas de clave de búsqueda. Las columnas de clave de búsqueda no han de tener los mismos nombres en los enlaces primario y de referencia.

El enlace rechazar opcional transporta registros de origen que no tienen una entrada correspondiente en las tablas de búsqueda de entrada.

También puede realizar una búsqueda de rango, que compara el valor de una columna de origen con un rango de valores entre dos columnas de tabla de búsqueda. Si el valor de la columna de origen entra dentro del rango necesario, se pasa una fila al enlace de salida. Como alternativa, se puede comparar el valor de una columna de búsqueda con un rango de valores entre dos columnas de origen. Las búsquedas de rango deben estar basadas en valores de columnas y no en valores constantes. Se da soporte a varios rangos.

Hay algunas consideraciones de particionamiento especiales para las etapas Búsqueda. Debe asegurarse de que los datos que se buscan en la tabla de búsqueda estén en la misma partición que los datos de entrada a los que hace referencia. Una forma de hacerlo es particionar las tablas de búsqueda utilizando todo el método Entero. Otra forma es particionarlo del mismo modo que los datos de entrada (aunque esto implica la clasificación de los datos).

Vea el siguiente vídeo para ver un ejemplo de cómo trabajar con la etapa de búsqueda de DataStage® .

Este vídeo proporciona un método visual para aprender los conceptos y tareas de esta documentación.