Você está na página 1de 5

EJERCICIOS

Objetivos:
Probar lo aprendido en clase sobre tcnicas de particionamiento y coleccin en datastage parallel
Jobs

Gua:

Tomemos como base el archivo separado por tabs de nombre COMICS2_20150512.txt , que
tiene la siguiente estructura: Title, ISBN, Publication Data, Page Count, Key
Como primer paso, importemos la metadata del archivo desde su fuente. Notaron algo raro al
hacerlo?
Dentro de nuestra estructura de directorios preferida creemos un nuevo job parallel de nombre
M004_ARQBASE. Este job tendr solo 3 stages, Sequential File Input,Copy, Sequential File
Output
Inicialmente debera lucir as:

Configurando la lectura: Con lo que sabe y/o puede suponer hasta el momento configure las
diferentes pestaas del stage. As luce en el ambiente del instructor:

Configurando el copy: Debera ser como sigue

Configurando la salida: Por esta vez escribiremos en un solo archivo de nombre


COMICSD_20150512.out, el cual es tambin delimitado por tabs. Adelante, configralo t
mismo!
Volvamos a nuestra foto inicial. Notan algo especial en los links? Cmo una especie de
plumilla abierta hacia la derecha antes de llegar al copy y una plumilla abierta hacia la izquierda
antes de llegar al secuencial destino no? Estos dos indicadores son muy importantes. Antes de
aventurarnos a decir que es, indiquemos a datastage que vamos a correr nuestro job con el
archivo de configuracin Delaware.apt (asegurmonos que solo tenga 2 nodos) Ahora si ms
seguro de que puede ser? Efectivamente! La plumilla abierta hacia la izquierda indica que
datastage est particionando la data en cuantos nodos indique el archivo de configuracin. La
plumilla abierta hacia la derecha indica que est colectando. Comprobemos esto abriendo el
stage destino en la opcin Input>Partitioning. Debera lucir as:

Algo que puedas notar?


Ahora compilemos y ejecutemos el job. Observemos la data del archivo de salida. Puedes decir
algo sobre el mtodo de coleccin? Abra el director. Debera ver algo bastante parecido a esto:

Finalmente, con lo que sabe hasta el momento, intuya como generar dos salidas:
COMICSD_1.out y COMICSD_2.out. Si no logra intuir como consulte a su instructor
Responda las siguientes preguntas:
Vaya a la pestaa partitioning del archivo de salida. Puede ver que algo ha cambiado? Qu
cambio?
Cierre el stage, cambio algo en el aspecto general del job?
Abra el director. Vio algo diferente en la exportacin? Qu es?
Finalmente abra los archivos de salida Puede suponer que tcnica de particionamiento se
aplic? Por qu?

Ejercicio 1
Fuente:
COMICS2_20150512.txt
Objetivo:
Generar el archivo COMICSD_20150512.ordered, el cual se encuentre perfectamente ordenado por
la columna Key. Grabe el job con el nombre M004_COLECTORDERED
Output:
La salida debe ser como sigue:

Ejercicio 2
Fuente:
COMICS2_20150512.txt
Objetivo:
Generar la columna Calificacin, la cual contendr si el comic fue bueno o malo. Las caractersticas
de dicha columna son: Char(1), Valores: S/N. Intuya, de la paleta de componentes disponibles, cual
usar y cmo hacerlo. En caso no pueda consulte a su instructor. Grabe su job con el nombre
M004_COLORDGB
Output:
La salida debe ser un archivo de nombre COMICSGB_20150512.data, el cual debe ser separado por
tabs y lucir as:

Ejercicio 3:
Fuente:
COMICS2_20150512.txt

Objetivo:
Generar la columna Calificacin, la cual contendr si el comic fue bueno o malo. Las caractersticas
de dicha columna son: Char(1), Valores: S/N. Intuya, de la paleta de componentes disponibles, cual
usar y cmo hacerlo. En caso no pueda consulte a su instructor. Grabe su job con el nombre
M004_COLORDGBNO. El archivo de salida no debe ser ordenado, debe dejar a datastage escribir
como le venga en gana. Abra el director y compare que job (entre M004_COLORDGB y
M004_COLORDGBNO) se ejecut ms rpido. Logra ver alguna diferencia? Por qu?
Output:
La salida debe ser un archivo de nombre COMICSGBNO_20150512.data

Ejercicio 4:
Fuente:
No tiene
Objetivo:
Generar un archivo plano con 500000 registros las siguientes columnas: CADENA (Varchar(200), sus
valores son cadenas de caracteres cualesquiera), NUMERO (Integer, Numero random cuyo lmite
superior es 250), KEY (Integer, numero consecutivo entre 1 y 500000). Si no se le ocurre como,
consulte a su instructor.
Particionar usando la tcnica Hash, usando como columna clave la columna NUMERO generada
anteriormente (se sugiere usar copy).
Output:
Generar, usando dos diferentes Jobs los archivos:
GENFT.ordered
Ordenado por el campo key de forma ascendente. Se sugiere guardar el job con el nombre
M004_RGENCOLORD. El archivo debe lucir as:

GENFT.out
Sin ordenar. Se sugiere guardar el job con el nombre M004_RGENCOLNOORD. El archivo debe lucir
as:

Importante:
Cul de los 2 jobs se ejecut ms rpido? Por qu cree Ud. que sucede esto?
Pudo ver algn mensaje extrao en el log del job M004_RGENCOLNOORD? Cmo lo resolvera?

Ejercicio 5:
Fuente:
COMICS2_20150512.txt
Objetivo:
A fin de practicar el particionamiento por hash por un campo no numrico, generaremos usando 2
jobs, 2 archivos planos a fin de analizar sus resultados
Output:
COMICSHISBN1.out y COMICSHISBN2.out
Cada archive debe contener la data que viajara al primer y Segundo nodo respectivamente. No se
debe especificar mtodo de coleccin alguno
COMICSHISBN1.ordered y COMICSHISBN2.ordered
Cada archive debe contener la data que viajara al primer y Segundo nodo respectivamente. La data
de cada archivo debe ser ordenada por ISBN.

Ejercicio 6:
Objetivo:
Parametricemos todos los Jobs anteriormente construidos.

Você também pode gostar