Вы находитесь на странице: 1из 31

Contenido

Stages de Secuencia
Stages de Job Parallel
Stages de Job Server
Creacin de parmetros
Paso de parmetros en Job Activity
Ejecucin de los jobs
Debug del ETL

1. Stages de Secuencia
1.1 Job Activity
Es un stage que invoca a un Job o a una Secuencia. En sus
propiedades deben configurarse los siguientes puntos:

General:
Nombre: aqu se nombra el Job Activity. Puede colocarse cualquier
nombre pero se recomienda colocarle a este stage el mismo nombre
del Job o Secuencia al que se est invocando.
Descripcin: debe colocarse una breve descripcin de lo que hace
el Job o la Secuencia a la que invoca el stage.
Trabajo:
Nombre del trabajo: se debe seleccionar de la lista (haciendo clic
en
) el Job o Secuencia a la que se quiere invocar con el stage.
Parmetros: en esta seccin aparecer la lista de parmetros que
necesita el Job o Secuencia invocada para poder funcionar. Nota:
hay que considerar que si los parmetros del Job Activity ya est
configurados y si se desea invocar a otro Job o Secuencia, una vez
que se realice el cambio en el campo Nombre del Trabajo los
parmetros se borrarn. (Ver Seccin de Parmetros)
Desencadenantes:
Expresin: normalmente se deja con la condicin por defecto.
Nota: si el stage ya est configurado y se desea cambiar el Job o
Secuencia al que est invocando, hay que estar pendiente de
sustituir el nombre del nuevo Job o Secuencia en la expresin.

1.2 Notification Activity


Es un stage que permite enviar un correo de notificacin para
alertar la ocurrencia de un determinado evento.
En sus
propiedades deben configurarse los siguientes puntos:

Notificacin: aqu se configura todo lo relacionado con el correo que


se desea enviar (remitente, destinatario, asunto, contenido). Es
recomendable que tanto en el Nombre del servidor de correo SMTP
como en la Direccin de correo electrnico del destinatario no se
coloque la direccin de correo directamente sino que sta se pase
mediante un parmetro.

1.3 Sequencer
Es un stage que permite sincronizar dos ramas dentro de una
Secuencia. En sus propiedades deben configurarse los siguientes
puntos:

Secuenciador:
Modalidad: en este campo se indica el comportamiento que va a
tener el stage. Puede ser Cualquiera si se desea que el proceso
contine cuando cualquiera de las ramas que llegan al Sequencer
haya terminado, o Todos si se quiere que el proceso contine
cuando todas las ramas del proceso hayan terminado.

1.4 Execute Command


Es un stage que permite ejecutar un comando. Normalmente se
utiliza para leer un archivo .txt. En sus propiedades deben
configurarse los siguientes puntos:

ExecCommand:
Mandato: en este campo se coloca la instruccin que se desea que
ejecute el stage. Por lo general, se coloca primero el comando
seguido de la ruta de donde se quiere leer el archivo .txt.

1.5 User Variables Activity


Este stage permite definir variables dentro de la secuencia que
pueden ser utilizadas posteriormente, por ejemplo, para definir
parmetros. Los puntos que se deben configurar en este stage
son los siguientes:

Variables de usuario:
- Nombre: se debe colocar el nombre de la variable a crear.
- Expresin: (especificar lo que hace la expresin)

1.6 Routine Activity

2. Stages de Job Parallel


2.1 DB2 Connector
Este stage permite realizar una conexin a una DB2 y extraer o
ingresar datos en la misma. La configuracin de este stage ser
diferente dependiendo de cul de estos dos comportamientos se
quiera establecer.
Extraer datos
Propiedades:
Conexin:
- Database: se coloca el nombre del esquema al que se desea
conectar.
- Username: se coloca el nombre del usuario del esquema al que
se desea conectar.
- Password: se coloca el password del usuario del esquema al
que se desea conectar.
Uso:
- Generate SQL: en este campo se especifica si se quiere que
Datastage genere un query para realizar la consulta o si se desea
ingresar el query manualmente. Si se elige la opcin Si se debe
especificar el nombre de la tabla en el campo Table Name. Si
se elige la opcin No se debe escribir el query en el campo
Select Statement.
Nota: este stage brinda la posibilidad de realizar pruebas de
conexin as como ver la data proveniente del origen. Para esto, en
la seccin Conexin se debe elegir la opcin
Probar que
posteriormente arrojar un aviso indicando si la conexin fue
satisfactoria o no. De igual manera, en la seccin Uso se debe
elegir la opcin Ver datos que posteriormente pedir la
informacin correspondiente a los parmetros que se necesitan para
poder extraer la data del origen. Si la conexin ha sido exitosa y
existe data en el origen, se podrn ver los registros
correspondientes, en caso contrario, Datastage indicar que hay un
error.
Columnas: en esta seccin se colocan el nombre y tipo de dato de las
columnas que se desean traer del origen. Es importante que aqu
aparezcan cada uno de los campos que se indican en el query (en caso
de haber ingresado un query manual) y que en ambos lugares tengan
exactamente el mismo nombre.

Nota: es recomendable, si es posible, que el nombre del stage


conector sea el mismo que el de la entidad (tabla, vista, dimensin) a
la que se est conectando.

Ingresar datos
Propiedades:
Conexin:
- Database: se coloca el nombre del esquema en donde se
encuentra la tabla en la que se desean ingresar los datos.
- Username: se coloca el nombre del usuario del esquema en
donde se encuentra la tabla en la que se desean ingresar los
datos.
- Password: se coloca el password del usuario del esquema en
donde se encuentra la tabla en la que se desean ingresar los
datos.
Uso:
- Write Mode: normalmente se coloca Insert.
- Table Name: se coloca el nombre del esquema entre smbolos
# seguido por un punto . y el nombre de la tabla en la que se
desean
insertar
los
datos.
Ejemplo:
#$USRSTAGING#.STG_FTE_CARTERA
- Table Action: especificar que hace cada una de las opciones.
Columnas: en esta seccin se colocan el nombre y tipo de dato de las
columnas que se desean ingresar en la tabla destino.

2.2 Data Set

Este stage contiene un conjunto de datos binarios. Existen dos


maneras de configurar un Data Set, dependiendo de si este se est creando
o de si se est utilizando un Data Set que ya ha sido previamente creado.
Creacin de Data Set
Propiedades:
- Target < File: se debe colocar la ruta donde se quiere guardar el
Data
Set
y
el
nombre
del
mismo.
Ejemplo:
#$DataSetFile#/DS_SC_Dia_Anterior
Columnas: en esta seccin se colocan el nombre y tipo de dato de las
columnas que se desea que contenga el Data Set.
Utilizacin de un Data Set ya creado
Propiedades:

Source < File: se debe colocar la ruta donde se encuentra


guardado el Data Set as como su nombre. Ejemplo:
#$DataSetFile#/DS_Consolidado_MTTAB_Activo.
Columnas: en esta seccin se colocan el nombre y tipo de dato de las
columnas que se desea que contenga el Data Set.

Nota: es posible visualizar la data que contiene el Data Set haciendo uso
de la opcin Ver Datos, en donde se desplegar una ventana para
ingresar los parmetros correspondientes al job. En caso de que el Data
Set contenga registros y se haya realizado la conexin al mismo de
manera satisfactoria, los registros sern mostrados. En caso contrario, se
visualizar una alerta indicando la naturaleza del error o indicando que el
Data Set no contiene filas.

2.3 Transformer1

Este stage permite realizar transformaciones (conversin de tipo de


datos, operaciones, inclusin de variables) a una data de entrada. Una
vez que se coloca en el job el stage de Transformer, este toma las columnas
del link de entrada. Cuando se abren las propiedades del Transformer, se
puede ver del lado izquierdo una seccin que contiene las columnas
correspondientes al link de entrada, del lado derecho inferior estar la
seccin correspondiente a las columnas del link de salida y del lado
derecho superior la seccin de Variables de la etapa.
Para crear una variable:
-

Entrar en Propiedades.
Seleccionar la pestaa Etapa Variables.
Asignar el nombre y el tipo de dato de la variable.

Una vez creada la variable, sta aparecer en la seccin Variables de la


etapa. Es posible editar la derivacin de cada variable de etapa, haciendo
clic derecho sobre la derivacin y seleccionando la opcin Editar
derivacin. Con esto se tiene la opcin de utilizar una determinada funcin
para realizar un tratamiento determinado a un campo.
Adems, en la parte inferior de la ventana de Propiedades se encuentra la
lista de campos correspondientes al link de entrada y link de salida con sus
respectivos tipos de dato. Nota: se puede realizar de forma implcita la
conversin de tipo de dato de un campo, sin embargo, es mejor realizar las
conversiones de tipo de dato con un stage Modify.

NOTA IMPORTANTE: reducir el uso de este stage en lo posible dado que


est obsoleto y es posible que en futuras versiones de DataStage ste sea
eliminado.

2.4 Modify
Este stage permite modificar el tipo de dato de un campo. El
campo que hay que configurar en este stage es el de
Specification dentro de la pestaa Propiedades. Aqu lo que
hay que colocar es la instruccin que permita realizar la conversin (revisar
la Ayuda de DataStage para mayor detalle de las funciones que permiten
realizar la conversin).

2.5 Sort

Este stage permite ordenar datos. Se utiliza sobre todo antes del
stage Aggregator, ya que ste requiere que la data de entrada est
ordenada.
Los puntos que se deben configurar para este stage son los
siguientes:

Propiedades:
- Sorting Keys < Key: aqu se coloca la o las claves del stage
(especificar como se eligen estas claves). Para cada una de las
claves debe elegirse el Sort Key Mode que es la modalidad de
ordenamiento y por lo general se selecciona el tipo Sort. Tambin
debe especificarse el Sort Order que puede ser Ascending si se
quiere ordenar los registros de menor o mayor o Descending si se
quiere ordenar los registros de mayor a menor. Nota: para agregar
una clave adicional hacer clic en Sorting Keys y luego, en la parte
inferior derecha de la ventana, hacer clic en Key.
Salida:
- Correlacin: en esta seccin es donde se realiza el mapeo de las
columnas desde el link de entrada hacia el link de salida.
- Columnas: en esta seccin debe aparecer la metadata de la
informacin que se desea ordenar.

2.6 Aggregator

Este stage permite agregar data. Es indispensable que la data de


entrada est ordenada. El stage Aggregator puede configurarse de dos

maneras, como Count Rows para que cuente el nmero de filas de cada
grupo o como Calculation para que realice una operacin sobre una
columna de entrada especfica.

Propiedades:
- Grouping Keys < Group: especifican las columnas que se quieren
agregar. Si se desea agregar un grupo adicional, en la parte inferior
derecha de la ventana de propiedades se debe hacer clic en
Group.
- Aggregations < Aggregation Type: especifica el tipo de
agrupamiento que se quiere realizar. Estn las opciones de
Calculation, Count Rows y Re-calculation.
- Aggregations < Count output columns:
- Opciones < Allow Null Output: aqu se especifica el tipo de salida
del Aggregator. Si se coloca en True significa que NULL es una
salida vlida y si se coloca en False significa que la salida ser
cero cuando todos los valores de entrada de las columnas son igual
a NULL.
- Opciones < Method: aqu se especifica el mtodo de
agrupamiento. La opcin por defecto es Hash, en donde el clculo
se hace sobre todos los grupos y el resultado se almacena en
memoria. Adems, la data de entrada no necesita estar ordenada.
La otra opcin es el mtodo Sort, en donde la data de entrada
necesita estar previamente ordenada, slo un grupo a la vez se
mantiene en memoria por lo que slo necesita suficiente memoria
para procesar el grupo actual.
Salida:
- Correlacin: en esta seccin es donde se realiza el mapeo de las
columnas desde el link de entrada hacia el link de salida.
- Columnas: en esta seccin debe aparecer la metadata de la
informacin que se desea ordenar.

2.7 Remove Duplicates

Este stage permite remover duplicados. Los puntos que deben


configurarse en este stage son los siguientes:

Propiedades:
- Keys that define duplicates < Key: aqu se especifica la clave
por la cual se determinar cuando un registro est duplicado.

Options < Duplicate to retain: aqu se especifica cual duplicado


se conservar en caso de que se encuentren registros duplicados.
Puede elegirse First si se quiere conservar el primer duplicado o
Last si se quiere conservar el ltimo duplicado.

Nota: este stage es especialmente til cuando se presenta un error en la


ejecucin del ETL relacionado con la existencia de duplicados al momento
de cargar datos.

2.8 Copy

Este stage permite copiar la data de entrada en la salida. Se usa para


dividir la data y realizar procesado por separado. Una vez que este stage se
agrega dentro del flujo de un job, l toma la metadata del link de entrada y
automticamente se mapea al link de salida.

2.9 Join2

Este stage permite combinar data. Tiene la misma funcionalidad que


un Join dentro de una sentencia SQL. Los puntos que deben configurarse
para este stage son los siguientes:

Propiedades:
- Key: aqu se debe colocar el campo que se desea designar como
clave, es decir, aquel por el cual se quiere hacer el Join. Nota: si se
desea agregar una clave adicional, en la parte inferior derecha de la
ventana de propiedades se debe hacer clic en Key.
- Join Type: en este punto se debe elegir el comportamiento que se
quiere que el stage tenga. Existen cuatro opciones:
Inner: deja pasar a la salida del stage aquellas columnas que
hagan match.
Left Outer: deja pasar a la salida del stage todas las
columnas del link izquierdo, hagan o no match con las
columnas del link derecho. Para las columnas que no hacen
match se establecen valores por defecto para rellenar los
campos que queden vacos.
Right Outer: deja pasar a la salida del stage todas las
columnas del link derecho, hagan o no match con las
columnas del link izquierdo. Para las columnas que no hacen

match se establecen valores por defecto para rellenar los


campos que queden vacos.
Full Outer: deja pasar a la salida del stage todas las
columnas del link izquierdo y derecho, hagan o no match.
Para las columnas que no hacen match se establecen valores
por defecto para rellenar los campos que queden vacos.
Especificar en donde se coloca el valor por defecto con que se
rellenan los registros.
Ordenacin de los enlaces: en esta seccin se debe establecer cul
de los links de entrada del Join va a ser el Left Link y cul el Right Link.
Nota: la ordenacin de los links se establece nicamente en esta
seccin. En ningn caso la disposicin de los links en el job determinar
la ordenacin de los mismos.
Salida:
- Correlacin: en esta seccin es donde se realiza el mapeo de las
columnas desde el link de entrada hacia el link de salida.
- Columnas: en esta seccin debe aparecer la metadata de la
informacin.

Ejemplo 1: Supngase que se tiene el diagrama siguiente, en donde se


tiene una fuente de datos A en el link Left y una fuente de datos B en el link
Right. Los datos correspondientes a la fuente A y a la fuente B son los que
se muestran en las tablas a continuacin y la clave del Join es el campo ID.

Ilustracin 1. Ejemplo de diagrama con Join

ID
23
11
5
16

Nombre
Ana
Pedro
Jos
Luis

Apellido
Rodrguez
Prez
Gonzlez
Hernndez

Tabla 1. Registros de la fuente de datos A

ID
5

Apellid
o
Gonzle
z

Edad
23

7
34

Silva
Fernnd
ez

42
20

Tabla 2. Registros de la fuente de datos B

El resultado de la salida del Join variar segn el Join Type que se elija. El
comportamiento del Join para cada caso sera el siguiente:

Inner
Slo deja pasar a la salida aquellas columnas que hagan match. En este
caso, el resultado sera el siguiente:
ID
5

Nombre
Jos

Apellido
Gonzlez

Edad
23

Tabla 3. Data resultante con un Join tipo Inner

Left Outer
En este caso, pasan a la salida todas las columnas del link izquierdo,
hagan o no match con las del link derecho. La data resultante de aplicar
este Join es la siguiente:
ID
5
7
34

Apellid
o
Gonzle
z
Silva

Edad

Nombre

23

Gonzlez

42

Fernnd
ez

20

(valor por
defecto)
(valor por
defecto)

Tabla 4. Data resultante con un Join tipo Left Outer

Right Outer
En este caso, pasan a la salida todas las columnas del link derecho,
hagan o no match con las del link izquierdo. La data resultante de
aplicar este Join es la siguiente:
ID
23

Nombre
Ana

Apellido
Rodrguez

11

Pedro

Prez

5
16

Jos
Luis

Gonzlez
Hernndez

Edad
(valor por
defecto)
(valor por
defecto)
23
(valor por
defecto)

Tabla 5. Data resultante con un Join tipo Right Outer

Full Outer

En este caso, pasan a la salida todas las columnas de ambos links. La


data resultante de aplicar este Join es la siguiente:
ID

Apellid
o
Gonzle
z
Silva

Edad

Nombre

23

Gonzlez

42
20

11

Fernnd
ez
Rodrgu
ez
Pedro

(valor por
defecto)
(valor por
defecto)
Ana

16

Luis

5
7
34
23

(valor por
defecto)
(valor por
defecto)
(valor por
defecto)

Prez
Hernndez

Tabla 6. Data resultante con un Join tipo Full Outer

Ejemplo 2: Supngase que se tiene el diagrama siguiente, en donde se


tiene una fuente de datos A en el link Left y una fuente de datos B y C
como links Right. Los datos correspondientes a las fuentes A, B y C son los
que se muestran en las tablas a continuacin, la clave del Join es el campo
ID y el Join Type es Inner.

Ilustracin 2. Ejemplo de diagrama con Join con tres entradas

ID
23
11
5
16

Nombre
Ana
Pedro
Jos
Luis

Apellido
Rodrguez
Prez
Gonzlez
Hernndez

Tabla 7. Registros de la fuente de datos A

ID
5
7
23

Apellid
o
Gonzle
z
Silva
Rodrgu
ez

Edad
23
42
25

Tabla 8. Registros de la fuente de datos B

ID
44
23
97
16

Ciudad
Caracas
Caracas
Mrida
Maracay

Oficina
4355
5364
4288
2432

Tabla 9. Registros de a fuente de datos C

Dada la manera cmo se han establecido los links de entrada y el Join


Type, el Join primero buscar todos los registros de la fuente A en la fuente
B y el resultado del match entre estos dos se buscar en la fuente de datos
C. En las tablas siguientes se muestra el resultado del Join.

ID
23
5

Nombre
Ana
Jos

Apellido
Rodrguez
Gonzlez

Edad
25
23

Tabla 10. Resultado de hacer Join entre A y B

ID
23

Nombre
Ana

Apellido
Rodrguez

Edad
25

Ciudad
Caracas

Oficina
5364

Tabla 11. Resultado final de hacer Join entre A, B y C

2.10

Lookup2

Este stage sirve para combinar data. Soporta varios links de


entrada, en donde uno de ellos debe establecerse como link mster y el
resto como links de referencia. En la salida slo soporta dos links, uno
principal y de manera opcional un link de reject que sirve para capturar las
columnas que no hayan hecho match. Es recomendable colocar como link
mster al link que posea mayor cantidad de registros para tener un mejor
rendimiento. Los puntos que deben configurarse para este stage son los
siguientes:

Propiedades:
- Ordenacin de los enlaces: en esta seccin se debe especificar
cul de los links de entrada ser el principal (Primary) y cul ser
el de referencia (Lookup 1).
Restricciones:
- Condicin no se cumple (Condition Not Met):
Continuar (Continue): si la condicin se cumple.
Finalizacin anmala (Fail): si la condicin no se cumple
Descartar (Drop): si la condicin no se cumple porque el
registro ha sido previamente borrado.
Rechazar (Reject):
Anomala en la bsqueda (Lookup Failure): establece la accin
a tomar cuando sucede lo especificado en Condicin no se
cumple.
Continuar
(Continue): el job continua sin fallar y los
valores de referencia con los que sern poblados los campos
de los registros que no hacen match sern NULL en caso de
que el campo sea nullable o con un string vaco en caso de
que el campo sea no-nullable.
Finalizacin anmala (Fail): el job falla.
Descartar (Drop): los registros se borran.
Rechazar (Reject): los registros se envan hacia un link de
reject (hay que colocar el link de reject).

En la ventana de configuracin del Lookup aparecen en la parte izquierda


las tablas correspondientes a los campos del link mster y de los links de
referencia. Del lado derecho se encuentra una seccin en donde se deben
mapear aquellos campos que se deseen pasar a la salida. En la parte
inferior, aparece la lista de cada uno de los campos correspondientes a
cada link con sus nombres y respectivos tipos de dato.
Ejemplo: Supngase que se tiene el diagrama siguiente, en donde se tiene
una fuente de datos A en el link principal y una fuente de datos B en el link
secundario. Los datos correspondientes a la fuente A y a la fuente B son los
que se muestran en las tablas a continuacin.

Ilustracin 3. Ejemplo de diagrama con Lookup

ID
23
11
5
16

Nombre
Ana
Pedro
Jos
Luis

Apellido
Rodrguez
Prez
Gonzlez
Hernndez

Tabla 12. Registros de la fuente de Datos A

ID
5
7
34

Apellido
Gonzlez
Silva
Fernndez

Edad
23
42
20

Tabla 13. Registros de la fuente de Datos B

Ntese que se ha colocado en el link principal la fuente de datos que tiene


mayor cantidad de registros. Colocando como campo clave para el Lookup
el campo ID, el comportamiento de este stage sera el siguiente para las
combinaciones en las restricciones (Condition Not Met Lookup Failure) que
se muestran a continuacin:

Fail Fail
Cuando se busque el registro con ID=23 en la fuente de datos B no se
encontrar (Fail), por lo que el job fallar (Fail).

Fail Continue
Igual que en el caso anterior, cuando se busque el registro con ID=23
en la fuente de datos B no se encontrar (Fail). Sin embargo, en este
caso se le est indicando al Lookup que en caso de que haya registros
que no hagan match igual los pase a la salida (Continue), completando
los campos restantes con NULL (si el campo es nullable o con un string
vaco si es no-nullable). Entonces la data de salida resultar de la
siguiente manera:

ID
23
11
5
16

Nombre
Ana
Pedro
Jos
Luis

Apellido
Rodrguez
Prez
Gonzlez
Hernndez

Edad
23

Tabla 14. Data resultante con Lookup Fail - Continue

Fail Reject
En este caso, es obligatorio colocar un Data Set adicional (Reject) para
almacenar la data que no haga match (Fail). El diagrama resultante
sera como el siguiente:

Ilustracin 4. Ejemplo de diagrama con Lookup y link de Reject

La data de salida y la data de reject que resultara de este ejemplo


seran las que se observan en las tablas siguientes:
ID
5

Nombre
Jos

Apellido
Gonzlez

Edad
23

Tabla 15. Data de salida con Lookup Fail Reject

ID
23
11
16

Nombre
Ana
Pedro
Luis

Apellido
Rodrguez
Prez
Hernndez

Tabla 16. Dataset de reject

Fail Drop

En este caso, si se encuentran registros que no hacen match (Fail) stos


se borran de la memoria (Drop), por lo que la data de salida sera la
siguiente:
ID
5

Nombre
Jos

Apellido
Gonzlez

Edad
23

Tabla 17. Data de salida con Lookup Fail Drop

Nota: si se elige esta opcin es recomendable que antes de


implementarla se pruebe con la opcin Fail Reject para estar seguros
de cul ser la data que se va a borrar.
Otro aspecto importante a considerar es que si se quiere combinar data de
ms de dos fuentes, lo ms recomendable es que se utilicen varios Lookups
(ver Ilustracin 6) en vez de combinar todas las fuentes de datos en un solo
Lookup (ver Ilustracin 5).

Ilustracin 5. Combinacin de varias fuentes de datos en un Lookup (NO


RECOMENDADO)

Ilustracin 6. Combinacin de varias fuentes de datos en un Lookup (RECOMENDADO)

2.11

Merge2

Es un stage que permite combinar data. Puede tener varios links de


entrada donde uno de ellos debe ser designado como link mster y el resto
como links de referencia. En la salida tiene el link principal y de manera
opcional se puede agregar un link de reject (pueden agregarse tantos links
de reject como links de referencia tenga en su entrada). Como requisito, la
data de entrada debe estar libre de duplicados y debe estar ordenada. Los
puntos que deben configurarse en este stage son los siguientes:

Propiedades:
- Merge Keys < Key: aqu se coloca el campo que se desea designar
como clave, es decir, aquel por el cual se desea realizar el Merge.
Adicionalmente, a cada clave se le debe especificar el tipo de
ordenacin en Sort Order que puede ser Ascending si la data
est ordenada de manera ascendente o Descending si est
ordenada de manera descendente. Nota: si se desea agregar una
clave adicional, en la parte inferior derecha de la ventana de
propiedades se debe hacer clic en Key.
- Opciones < Unmatched Masters Mode: aqu se especifica el
comportamiento que se quiere establecer cuando las columnas no
hagan match. Se debe elegir la opcin Keep si se quieren
conservar las columnas que no hagan match o Drop si se quieren
borrar las columnas que no hagan match.
- Opciones < Warn On Reject Updates: aqu se especifica si se
quiere que DataStage emita un warning cuando algn registro de los
links de referencia sea rechazado. Si se quiere que se emita el
warning este campo debe colocarse en True, de lo contrario en
False. Generalmente se deja en False.
- Opciones < Warn On Unmatched Masters: aqu se especifica si
se quiere que Datastage emita un warning cuando algn registro del
link mster sea rechazado. Si se quiere que se emita el warning este
campo debe colocarse en True, de lo contrario en False.
Generalmente se deja en False.
Ordenacin de los enlaces: en esta seccin se debe especificar cul
ser el link principal (Mster) y el link de referencia (Update1) en la
entrada y cul ser el link principal (Mster) y el link de reject
(Rechazo de Update1) en la salida.
Salida:
- Correlacin: en esta seccin es donde se realiza el mapeo de las
columnas desde el link de entrada hacia el link de salida.

Columnas: en esta seccin debe aparecer la metadata de la


informacin.

Ejemplo: Supngase que se tiene el diagrama siguiente, en donde se tiene


una fuente de datos A en el link mster y una fuente de datos B y C como
links de referencia. Los datos correspondientes a las fuentes A, B y C son
los que se muestran en las tablas a continuacin y la clave del Merge es el
campo ID.

Ilustracin 7. Ejemplo de diagrama con Merge

ID
23
11
5
16

Nombre
Ana
Pedro
Jos
Luis

Apellido
Rodrguez
Prez
Gonzlez
Hernndez

Tabla 18. Registros de la fuente de datos A

ID
5
7
23

Apellid
o
Gonzle
z
Silva
Rodrgu
ez

Edad
23
42
25

Tabla 19. Registros de la fuente de datos B

ID
44
23
97

Ciudad
Caracas
Caracas
Mrida

Oficina
4355
5364
4288

16

Maracay

2432

Tabla 20. Registros de la fuente de datos C

Dependiendo de la opcin que se elija en Unmatched Masters Mode el


comportamiento del Merge ser diferente. El resultado de este ejemplo se
detalla a continuacin para cada una de las opciones.

ID

Keep
Esta opcin permite pasar a la salida todos los registros que se
encuentren en el link mster, hagan o no match con los registros de los
links de referencia. En las siguientes tablas se muestra el resultado
para esta opcin.
Apellido

Edad

Ciudad

Oficina

23
11

Nomb
re
Ana
Pedro

Rodrguez
Prez

Jos

Gonzlez

25
(valor por
defecto)
23

16

Luis

Hernnde
z

(valor por
defecto)

Caracas
(valor por
defecto)
(valor por
defecto)
Maracay

5364
(valor por
defecto)
(valor por
defecto)
2432

Tabla 21. Data de salida con Merge tipo Keep

ID

Drop
En este caso, cuando el registro del link mster no hace match con los
registros de los links de referencia, dicho registro se borra (de manera
opcional se puede colocar un link de reject para almacenar estos datos
en otro Dataset). El resultado de aplicar esta opcin a un Merge se
puede observar en la tabla siguiente.

23
5

Nomb
re
Ana
Jos

16

Luis

Apellido

Edad

Ciudad

Oficina

Rodrguez
Gonzlez

25
23

Hernnde
z

(valor por
defecto)

Caracas
(valor por
defecto)
Maracay

5364
(valor por
defecto)
2432

Tabla 22. Data de salida con Merge tipo Drop

Comparacin entre Join, Lookup y Merge


La siguiente tabla resume algunas diferencias importantes entre estos tres
stages.

Uso de
memoria
Nmero de
entradas
Data de
entrada
ordenada
Duplicados en
el link mster
Duplicados en
los links de
referencia
Opciones
cuando no hay
match en el
link mster
Opciones
cuando no hay
match en el
link de
referencia
Nmero de
salidas
Captura en la
etapa de
reject

Join
Ligero

Lookup
Pesado

Merge
Ligero

2 o ms: left o
right

2 o ms: uno
principal y uno o
ms de referencia
No necesario

2 o ms: uno
principal y uno o
ms de referencia
Todas las entradas

OK

OK

Warning

OK

Warning

Keep (Left
Outer) | Drop
(Inner)

Fail | Continue |
Drop | Reject

OK cuando slo
hay un link de
referencia
Keep | Drop

Keep (Right
Outer) | Drop
(Inner)

Se captura en un
reject

1 principal, 1 de
reject (opcional)

No Aplica

Columnas que no
hacen match del
link mster

1 principal, 1 o
ms de reject
(opcional)
Columnas que no
hacen match de
los links de
referencia

Todas las
entradas

Tabla 23. Comparacin entre Join, Lookup y Merge

2.12

Funnel

Este stage permite recolectar data. Para que esto sea posible, la
metadata de cada uno de sus links de entrada debe ser la misma. Los
puntos que se deben configurar para este stage son los siguientes:

Propiedades:
- Funnel Type: aqu se debe especificar de qu manera se quiere
combinar la data. La opcin Continuous establece que los registros
se combinarn sin ningn orden en particular, Sort Funnel
preserva el orden de la data que proviene de links previamente

ordenados y Sequence deja pasar los registros del primer link de


entrada, luego los del segundo y as sucesivamente.
Salida:
- Correlacin: en esta seccin es donde se realiza el mapeo de las
columnas desde el link de entrada hacia el link de salida.
- Columnas: en esta seccin debe aparecer la metadata de la
informacin.

2.13

Filter

Este stage permite filtrar data de acuerdo a una condicin.


Puede tener ms de dos links de salida, donde uno de ellos se
puede configurar como link de reject. Los puntos que se deben
configurar para este stage son los siguientes:

Propiedades:
- Predicates < Where Clause: aqu se debe colocar la condicin
con la cual se desea filtrar, por ejemplo, EDAD > 18. Si se desea
agregar condicin adicional, en la parte inferior derecha de la
ventana de propiedades se debe hacer clic en Where Clause.
Nota: cuando hay ms de una condicin, es necesario especificar
por cul link van a salir los datos resultantes de cada una de las
condiciones. Esto se especifica en el campo Output Link.
- Opciones < Output Rejects: se debe colocar en True cuando se
quiera que los registros que no cumplen la condicin se pasen al link
de reject.
- Opciones < Ouput Row Only Once: esta opcin se debe colocar
en True si se quiere pasar a la salida aquellos registros que cumplan
slo con la primera condicin (en caso de existir ms de una
condicin). Si se coloca en False, a la salida pasarn aquellos
registros que cumplan con todas las condiciones establecidas.
Ordenacin de los enlaces: en esta seccin se debe especificar cul
ser el link principal (Primary), los links de referencia (0, 1, 2) y el
link de reject (Primary reject) si lo hubiera.
Salida:
- Correlacin: en esta seccin es donde se realiza el mapeo de las
columnas desde el link de entrada hacia el link de salida.
- Columnas: en esta seccin debe aparecer la metadata de la
informacin.

Ejemplo: Supngase que se tiene el diagrama siguiente, en donde se tiene


una fuente de datos A como entrada. La data de entrada es como la que se
muestra en la siguiente tabla y se desea separar la informacin en base a
las personas que sean mayores y menores a 25 aos.

Ilustracin 8. Ejemplo de diagrama con Filter

ID
5

Nombr
e
Jos

7
23

Jess
Ana

12
30

Carlos
Mara

Apellid
o
Gonzle
z
Silva
Rodrgu
ez
Ruiz
Martne
z

Edad
23
42
25
15
27

Tabla 24. Registros de la fuente de datos A

Para establecer la condicin por la cual se quiere filtrar la informacin, en


Where Clause debe colocarse Edad > 25. De esta manera, aquellos
registros cuya edad sea mayor a 25 cumplirn con la condicin y se irn
por el link principal, mientras que los que no cumplan con la condicin (los
que tengan edad menor a 25 aos) se irn por el link de reject. El resultado
para el Dataset 1 y Dataset 2 se muestra en las tablas siguientes.
ID
7
30

Nombr
e
Jess
Mara

Apellid
o
Silva
Martne
z

Edad
42
27

Tabla 25. Resultado para el Dataset 1

ID
5

Nombr
e
Jos

Apellid
o
Gonzle
z

Edad
23

23

Ana

12

Carlos

Rodrgu
ez
Ruiz

25
15

Tabla 26. Resultado para el Dataset 2

3. Creacin de Parmetros
Cada job o secuencia utiliza una serie de parmetros que permiten ingresar la
data necesaria para que estos se puedan ejecutar correctamente. Los
parmetros son variables que el usuario puede crear para que sean utilizadas
en un job o en todo el flujo del ETL, por ejemplo, la ruta donde se guardar un
dataset, el plugin, usuario y password para una conexin a base de datos, etc.
Para crear un parmetro, se debe hacer clic en el cono
que se encuentra en
la parte izquierda de la barra de herramientas. Al hacer esto, se desplegar
una ventana como la siguiente, en donde se debe especificar el nombre,
solicitud (texto que aparecer en la ventana de ejecucin del job o secuencia),
tipo de dato, valor por defecto y texto de ayuda del parmetro.

En algunos casos, ser necesario utilizar variables de entorno como


parmetros, para lo cual se debe hacer clic en Aadir variable de entorno
en la ventana anterior. Al hacer esto, aparecer una ventana con las variables
de entorno existentes, tal y como se muestra a continuacin. All se selecciona
la variable que se desea incluir en la lista de parmetros del job o secuencia.

4. Paso de parmetros en Job Activity


Para poder ejecutar una secuencia correctamente, es necesario que cada Job
Activity tenga asignados los parmetros dentro de sus Propiedades. Antes que
nada, se debe vincular el Job Activity a un job o secuencia (ver la Seccin 1.1)
para que aparezca la lista de parmetros que necesita el job o secuencia a la
que se est invocando, como se muestra a continuacin.

En algunos casos se requerir que el valor del parmetro sea un parmetro de


la secuencia en donde nos encontramos. En este caso, se debe hacer clic en
Insertar parmetro y seleccionarlo en la lista que aparecer. En otros casos
se necesitar asignar algn otro valor, por ejemplo, una variable creada en un
Variable Activity, un string, una funcin, un condicional, etc., como se muestra
a continuacin.

5. Ejecucin del ETL


Para ejecutar el ETL es necesario que todos los jobs y secuencias estn
compilados. Si se quiere compilar varios jobs al mismo tiempo, se debe hacer
clic en Herramientas < Compilacin de varios trabajos y se desplegar
una ventana en donde aparecern los Criterios de Seleccin que por lo
general se dejan tal y como estn. Al seleccionar Siguiente se contina con el
prximo paso en donde se debe elegir cuales jobs se desean compilar, como se
muestra a continuacin.

Una vez seleccionados los jobs que se van a compilar, en el siguiente paso se
deja la opcin por defecto y en el siguiente paso a ese se debe presionar
Iniciar compilacin. Si se marca la opcin Mostrar reporte de compilacin al
finalizar se generar un archivo txt con el listado de los jobs compilados
satisfactoriamente y los que han fallado por alguna razn.
Una vez que todos los jobs han compilado, se puede ejecutar el ETL haciendo
clic en
. Al hacer esto, se despliega la ventana que contiene los parmetros
de la secuencia, que pueden tener o no valores por defecto como se muestra a
continuacin.

Una vez que todos los parmetros tienen asignado su valor, se presiona
Ejecutar. En el Log (parte inferior de DataStage), se mostrar el progreso de
la ejecucin, cules jobs se han ejecutado satisfactoriamente, cules con
warnings y si hay un error en la ejecucin. La primera lnea que aparece en el
Log luego de iniciar la ejecucin (Starting Job ) es importante porque all se
puede revisar el valor de los parmetros con los que se est ejecutando ese job
o secuencia, haciendo doble clic sobre esa lnea.

Otra de las lneas que aparecen en el Log que es importante para verificar, en
especial cuando la secuencia ha fallado es la de Summary of sequence run,
porque permite determinar exactamente en cul job o secuencia se ha
producido el error.

6. Buenas prcticas en el desarrollo de ETLs


1. Nombre del Job o Secuencia: a cada job y secuencia se le debe colocar
un nombre que haga referencia a la tarea que realiza. Adems de esto, es
recomendable que el nombre empiece con el nombre del proyecto.
Ejemplo: si el proyecto en DataStage se llama GestionPromotores y se
tiene un job que permite conocer cul es el primer da hbil del mes, un
nombre
apropiado
para
este
job
sera
GestPromotores_UbicarPrimerDiaHabil.
2. Documentacin del Job o Secuencia: en cada job y secuencia deben
aparecer ciertos elementos que lo identifican y facilitan la comprensin del
mismo. Es importante que el estilo de la documentacin se mantenga igual
en todos los jobs y secuencias del proyecto. Entre los elementos que
conforman la documentacin del job estn:
a Identificador de la gerencia o rea encargada del seguimiento del
desarrollo del ETL por parte del cliente.
b Identificador de los encargados del desarrollo del ETL por parte de TCS,
as como el nombre del proyecto, fecha de creacin y actualizacin del job
o secuencia.
c Datos del job o secuencia, tales como nombre del job o secuencia y la
descripcin de la tarea que realiza.
d Referencia al job o secuencia desde donde se ejecuta el job o secuencia
actual.
Ejemplo:

Ilustracin 9. Ejemplo de documentacin del job

3. Jobs o secuencias de respaldo: los jobs o secuencias que por algn


motivo ya no se usen dentro del flujo del ETL no se deben dejar en las
carpetas del proyecto donde fueron creados inicialmente. Durante el
desarrollo de un ETL ser necesario crear dentro del proyecto una carpeta
llamada Respaldo o con un nombre similar para guardar all aquellos jobs
o secuencias que ya no se necesiten dentro del proyecto, de forma que en
el resto de las carpetas nicamente queden los jobs y secuencias que
efectivamente se estn utilizando en el ETL.
4. Table definitions: los table definitions son conjuntos de metadata.
Cuando se crea un stage, lo correcto es que la metadata que se asocie al
mismo sea guardada con la extensin .td para que posteriormente esa
misma metadata pueda ser reutilizada en otro lugar del ETL sin tener la
necesidad de cargar los campos manualmente. Todos los table definitions
de un proyecto deben guardarse en una nica carpeta.
5. Nombre de los stages: no se deben dejar los nombres por defecto de los
stages. Se les debe colocar un nombre que haga referencia a los datos que
manejan. Si se trata de un Dataset, es recomendable que al stage se le
coloque el mismo nombre que el archivo que contiene la data. En el caso
de un Job Activity, se recomienda que el nombre del stage sea el mismo
que el del job o secuencia al que estn invocando. En el caso de los
conectores a base de datos, se recomienda que el nombre del stage sea
igual al de la entidad (vista, dimensin, tabla) a la que se conectan.
6. Nombre de los links: no se deben dejar los nombres por defecto de los
links. Se recomienda que el nombre de los links comience con L_ seguido
del nombre del stage de donde proviene el link.
Ejemplo:

Ilustracin 10. Ejemplo de cmo deben nombrarse los links

Вам также может понравиться