domingo, 11 de diciembre de 2011

Tutorial Datastage Parte 4: Que es el repositorio?


Antes de hablar del Designer me tomare un post para ver el Manager.

El repositorio es el lugar donde están todos los componentes que definamos dentro de nuestro proyecto, tal como Jobs, Sequencers, Metadata de tablas, Rutinas, etc. Este repositorio lo podremos ver mediante la aplicación DataStage Manager. Además desde aquí podrás exportar los componentes a un archivo local llamado dsx (.dsx). Este será el método principal para poder importar y exportar componentes desde un servidor a otro (por ejemplo desde un servidor de desarrollo a uno productivo). También existen otras formas (Para la versión 7.5 existe Version Control y para la 8.5 existe el Server Manager) pero no se si resuelvan completamente el tema del versionamiento al desarrollar. Generalmente es mejor establecer una política con Harvest, Subversion, o parecido.
Volviendo al tema, al abrir el Manager tendremos lo siguiente:



Para entrar bastara con que tengamos nuestro usuario y contraseña del sistema operativo donde está instalado el servidor y además el nombre de nuestro proyecto que ya fue creado. Al ingresar veremos lo siguiente

Bueno aquí podremos ver todo lo que hay en el repositorio, pero además de eso podremos realizar los import y export. Otra cosa interesante que podemos realizar aquí son compilaciones múltiples. Básicamente desde el Designer  (Cuando trabajamos sobre un Job) podemos compilarlo, pero esto implicara que podremos compilar solo los jobs uno a uno. Mediante el manager podremos compilar más de uno a la vez. Bastante útil cuando necesitas compilar 10 o 20 jobs al hilo.
Empezaremos con el export. Seleccionamos Export > DataStage Components… y veremos algo como lo que sigue


Aquí podremos ponerle el nombre a nuestro archivo dsx y podremos exportarlo bajo xml o hacer un append a otro archivo dsx ya creado anteriormente. En el ejemplo yo exportare un job de pruebas cualquiera. El método de selección permite exportar el proyecto completo, categorías completas y jobs por separado. Para configurar esto nos vamos a Options en la categoría Selections.



Para realizar un import de nuestro dsx nos iremos a Import > Datastage components (o Datastage components XML dependiendo de cómo realizamos el export).


Aquí hay menos opciones pero generalmente no configuramos nada.
Bueno no hay mucho más que pueda explicar del Manager así que lo dejamos hasta acá xD

Parte 1: Que es Data Stage?
Parte 2: Como crear un proyecto?
Parte 3: Propiedades de un proyecto

Saludos!

Etiquetas:

Tutorial Datastage Parte 3: Propiedades de un proyecto

Al crear un proyecto podemos modificar ciertas propiedades, así como también, crear variables globales a ese proyecto.

Una vez tengamos creado nuestro proyecto con DataStage Administrator, tendremos algo como esto




Al hacer click en las propiedades, tenemos lo siguiente


Dentro de general tenemos las siguientes opciones importantes:

Enable job Administration in Director: Esta opción da a los usuarios la habilidad de limpiar recursos y status desde el menú de jobs del Director (Cuando lleguemos al director hablaremos de esto)

Enable Runtime Column Propagation in parallel jobs: Esta opción no la he utilizado nunca, pero según la documentación sirve para propagar columnas no definidas en un job de parallel. En otras palabras, si por alguna razón dentro de un job parallel nos encontramos con una columna no definida dentro de la metadata, el job puede “arrastrarla” hasta el final sin que esto signifique un abort en la ejecución.

Auto Purge of Job Logs: Esta opción es para que el motor de datastage purge los logs luego de x ejecuciones o x días.

Otra cosa importante son las variables de ambiente. Si hacemos click en Enviroment nos aparecerá lo siguiente:



Aquí se guardan los diferentes valores de las variables internas de DataStage (no es muy recomendable meter mano aquí sin saber). El apartado que nos interesa es la opción User Defined. En donde veremos lo siguiente.


Como se puede ver aquí podemos asignar variables globales que pueden ser utilizadas en nuestros procesos. Bastante útil para definir valores de Path (Ubicaciones) o Usuarios y contraseñas de los diferentes motores de datos que accederemos con nuestros procesos. Se pueden definir 2 tipos de variables: String y Encrypted. La diferencia de ambas es que unas las podremos ver en el motor y las otras no (nos aparecerá el típico * cuando queramos ver su valor). Estas últimas se recomienda utilizarlas en las contraseñas de los motores.

Volviendo al menú principal, la pestaña Permissions sirve básicamente para asignar los permisos y los roles de los usuarios


La Pestaña Tracing posibilita la creacion de trazas en el servidor, esto sirve para verificar todo lo que se realiza en el motor.


La pestaña Schedule aplica solo a servidores Windows NT/2000, y permite schedulizar jobs mediante  las tareas programadas de Windows.


Nos saltaremos directamente a la pestaña Tunables (Ya que las demás aun no se para que sirven xD, y la pestaña de parallel ya la veremos más adelante cuando hablemos de los jobs parallel.). Aquí tenemos lo siguiente:


Aquí se puede configurar los valores del cache y buffer de tuplas.
Volviendo al menú principal (el de los proyectos), tenemos la opción Command


Esta opción nos permitirá introducir algunos comandos directamente en el servidor. Estos comandos son comandos Universe, que es básicamente SQL
.
Por ejemplo, tenemos el siguiente comando


Este comando nos dará la lista de trabajos en ejecución de la maquina


En otro post subiré algunos otros comandos que conozco, pero aun no he encontrado una lista completa con estos. Supongo que si miramos la información de universo, muchos de los comandos serán aplicables también aquí.

Por ahora lo dejare hasta aquí, en el próximo post entrare de lleno en el diseño de Jobs con DataStage Designer.
Saludos!

Etiquetas:

sábado, 10 de diciembre de 2011

Tutorial Datastage Parte 2: Como crear un proyecto en DataStage?

El modulo utilizado para la creación de proyectos es el DataStage Administrator.  Este componente de la suite sirve principalmente para crear y remover proyectos, establecer las propiedades generales de cada proyecto, establecer las trazas, modificar los valores de comportamiento del motor (esto con el fin de realizar algo de tunning dentro del servidor) y además permite ejecutar comandos dentro del servidor.

Al iniciar el Administrator nos aparecerá la siguiente pantalla

 

Aquí distinguimos los siguientes conceptos importantes:

Host system: Host donde esta instalado el servidor

User Name y Password: Nombre de usuario y contraseña del usuario del sistema operativo donde está instalado el servidor.

Al ingresar nos aparecerá la siguiente imagen

Aquí se distinguen tres pestañas que detallan aspectos de la licencia, la versión y alguna otra cosa poco importante.

Hay que destacar la opción de inactivity timeout. Esta opción sirve para “botar” las conexiones después de cierto tiempo. No es recomendable utilizar la opción Do not timeout ya que si se corta la conexión en medio de la ejecución de un job este quedara corriendo y esto crea procesos “fantasmas” consumiendo cpu en el servidor. Además si se ejecutan jobs mediante línea de comandos (dsjob) y esta conexión demora más de lo seteado aquí, el job fallara ya que la conexión se cortara. Es recomendable que se administre este valor y se le asigne un valor mayor al tiempo de demora del job más lento. Esto permite asegurar que se podrán ejecutar jobs libremente y además que no habrán procesos corriendo sin control dentro del servidor. A veces en un ambiente productivo no es posible setear esta variable por lo que se requiere una administración constante del servidor en busca de estos procesos fantasmas.

Para crear un proyecto nos iremos a la pestaña Projects y le damos a Add… y nos preguntara el nombre de nuestro proyecto y la ubicación. 

En esta ubicación estarán todos los componentes físicos del proyecto que crearemos. Además cualquier objeto que creemos dentro de nuestro job será dejado en esta ubicación si no especificamos un path especifico para ello (que es lo recomendado).

Además podremos crear un proyecto protegido, en un proyecto no protegido cualquier desarrollador puede crear, borrar o modificar jobs.

 
Con esto habremos creado nuestro proyecto en el servidor y quedara utilizable desde cualquiera de las otras aplicaciones  (Designer , para poder crear los jobs dentro del proyecto, o director para ejecutarlos, etc)

En el próximo post detallaremos las opciones y configuraciones dentro de cada proyecto.

Etiquetas: