220 likes | 474 Views
CDD MODULO FDM TERADATA. Mayo 2012. Temario. INDICE. Contexto General Definición de Ambiente Procedimiento de Ejecución Job Principal Verifica Carga WRK Carga tablas Padres Carga Tablas Criticas Reservas Carga Tablas No Criticas Reservas Carga Tablas No Criticas Ticket
E N D
CDDMODULO FDM TERADATA Mayo 2012
Temario INDICE • Contexto General • Definición de Ambiente • Procedimiento de Ejecución • Job Principal • Verifica Carga WRK • Carga tablas Padres • Carga Tablas Criticas Reservas • Carga Tablas No Criticas Reservas • Carga Tablas No Criticas Ticket • Carga Tablas No Criticas Ticket 1 • Carga Tablas No Criticas Ticket 2 • Carga Tablas Graba Estados
Contexto General • CDD (Carga Modelo FDM Teradata) Proceso que permite cargar desde Teradata (WRK) a Teradata (FDM) toda la información relacionada a las Reservas y Ticket de Pasajero, este proceso a diferencia de Teradata WRK, su función principal es mantener actualizada la reserva, manteniendo la ultima modificaciones realizada sobre ella. Info.: Este Proceso esta asociado a distintos modos de carga que permitirán en casos excepcionales, reprocesar, recargar la información para uno o mas periodos según se determine
Contexto General • Tablas Padre Tablas principales de Negocio que permiten mantener la consistencia de la información de los registros de Reserva (RES) y Ticket (Tkt_Document), la finalización incorrecta de esta etapa NO permite continuar con el proceso de Carga • Tablas Criticas Conjunto de Tablas definidas por el usuario, con segunda prioridad de carga, con el fin de disponbilizar los datos para otro proyectos • Tablas No Criticas Conjunto de Tablas definidas por el usuario, con Tercera prioridad de carga, la finalización incorrecta de esta etapa SI permite continuar con el proceso de carga
Contexto General • Para desarrollar la solución se utilizó: • DATA STAGE 7.52 Solución implementada mediante Jobs ETL • BASE DATOS Oracle 10g y Teradata 12 • PARTICIONES SOBRE LAS TABLAS Para Extraer la información desde el modelo Oracle, se determinará la particion según la fecha de proceso y se cargara en el Modelo WRK de Teradata. • JOB CONTROL (Lenguaje de programación del los Job Server) Principalmente para orquestar la llamada de Job y la utilización de ODBC • ODBC Se utiliza ODBC principalmente para administrar las tabla de control en cada uno de los Procesos
Definición de Ambiente • Preparando el Ambiente de ejecución • Actualizar parámetro Servidor Datastage Para poder ejecutar dsjob es necesario poder actualizar siguiente parámetro en ambiente Unix donde reside servidor DataStage: cd `cat /.dshome` . ../dsenv ‘Deja disponible los parámetros de ambiente’ • Creación ODBC (FDM) Teradata • Nombre: [Tdata_ CDD_FDM] • Driver=/app/datastage/Ascential/DataStage/branded_odbc/drivers/tdata.so • Description=Conexion a Teradata CDD_FDM • Database=CDD_FDM • DBCName=57.228.128.8 • Server=57.228.128.8 • Port=1025 • DateTimeFormat=AAA • Creación ODBC (WRK) Teradata • Nombre: [Tdata_ CDD_WRK] • Driver=/app/datastage/Ascential/DataStage/branded_odbc/drivers/tdata.so • Description=Conexion a Teradata CDD_WRK • Database=CDD_WRK • DBCName=57.228.128.8 • Server=57.228.128.8 • Port=1025 • DateTimeFormat=AAA
Definición de Ambiente • Estructura de Carpeta Unix • /dsapp/DSCDD/CNF Carpeta de archivos de configuración (DSParams, ListadoFeeds.cnf) • /dsapp/DSCDD/SHL Carpeta donde se encuentran las Shell para la ejecución del proyecto • /dsdata/DSCDD/DAT Carpeta que tendrá todos los archivos de carga enviados por SABRE • /dsdata/DSCDD/HSH Carpeta donde se generaran los archivos HASH utilizados por el proceso • /dsdata/DSCDD/TMP Carpeta donde se generaran los archivos Temporales utilizados por el sistema
Procedimiento de Ejecución • Configuración: • Configuración de Parámetros de DSParams • Ejecución Shell: Nombre Shell: Ejecuta_DSCDD.sh / Ejecuta_DSCDD_OnDemand.sh Parámetros: FECHA = Fecha a procesar formato YYYYMMDD. ( Sólo se ingresa para proceso on-demand. Proceso batch programado calcula internamente el valor de la fecha de proceso). SERVER = DNS o IP del servidor donde se encuentra el Job. USER = Usuario con permiso de ejecución del Job. PASSWORD = Password del usuario. PROYECTO = Nombre del Proyecto que contiene el Job. JOB = Nombre del Job a ejecutar. MODO = Modo de ejecución <NORMAL|RESET|VALIDATE> PATH_LOG = Path donde se encuentran los logs. PARAMETRO = Parámetro a insertar en el Job. WARN = Numero de Warning permitidos antes del Fatal Error. 0 es Ilimitado. DESTINATARIOS=Direcciones e-mail a quienes se le enviara la información correspondiente. (Para más de un destinatario se separa por coma.)
Procedimiento de Ejecución • Ejecucion Norma y On-Demand En CDD existen dos Shell, una que gatilla los procesos programados (Ejecuta_DSCDD.sh) y otra que gatilla los proceso On-Demand (Ejecuta_DSCDD_OnDemand.sh) • Ejemplo de ejecución Programada (Control-M): La ejecución programada ejecutara secuencialmente la carga de Teradata, en primera instancia gatillara la carga del modelo WRK y en segunda instancia y si termina correctamente, ejecutara para el modelo FDM que será visto en esta presentacion ./Ejecuta_DSCDD.sh 57.228.129.28 dscdddscddDSCDD CDD_00_Main_Ejecucion_Teradata NORMAL /dsdata/DSCDD/LOG PS_FECHA_DE_ARCHIVOS_CDD 0 cynthia.rivera@lan.com • Ejemplo de ejecución On-Demand (Manual): ./Ejecuta_DSCDD_OnDemand.sh 20110214 57.228.129.28 dscdddscddDSCDD CDDFDM_00_EJECUTA_ALL NORMAL /dsdata/DSCDD/LOG PS_FECHA_DE_ARCHIVOS_CDD 0 cynthia.rivera@lan.com La ejecuciones sólo se diferencian en que para el Proceso OnDemand se debe ingresar la Fecha de Proceso (20110214) y en la programada se Calcula.
Job Principal • CDDFDM_00_Ejecuta_All • Sequence principal que gatilla el proceso que Carga de los registro ingresados a teradata WRK a Teradata FDM El proceso comienza enviado un Correo informando el inicio del proceso de carga al modelo FDM manteniendo la ultimas modificaciones realizadas a la Reserva • CDDFDM_01_Verifica_Carga_WRK • CDDFDM_00_CargaTD_01_Padres • CDDFDM_00_CargaTD_01_Criticas • CDDFDM_00_CargaTD_01_Res_No_Criticas • CDDFDM_00_CargaTD_01_Tkt_No_Criticas • CDDFDM_00_GrabaEstado
Verifica Carga WRK • JOB CONTROL CDDFDM_01_Verifica_Carga_WRK • Job control encargado de validar si WRK finalizo correctamente, verificando en las tablas de Control si las tablas cargadas terminaron con estado 1 Finished, si existen algún registro con un estado distinto el proceso se de tiene por completo enviado un Correo e informando el error.
Carga tablas Padres • Sequence CDDFDM_00_CargaTD_01_Padres • El sequence CDDFDM_00_CargaTD_01_Padres es el encargado de orquestar de forma “PARALELA” la carga de las tablas Padre (Reservas y ticket), comienza con el llamado al Job Control (CDDFDM_01_JobControl) para cada tabla, que validara si las cargas ya fueron realizada yno cargar nuevamente la tabla, creará los archivos de control, inicializara el proceso de carga en las tablas de control LAN y CORPORATIVA, llamara a los job de carga según sus parámetros, insertara los registro con errores en la Tabla de Error de CDD y actualizara las tabla de control con el Status de la carga, a medida que termina el proceso de carga, se ejecutara las dependencia, que complementaran con información a las tablas de control , con el status final del Job.
Carga Tablas Criticas Reservas • Sequence CDDFDM_00_CargaTD_01_Criticas • El sequence CDDTD_00_CargaTD_01_Criticas es el encargado de orquestar de forma “PARALELA” la carga de las tablas criticas, comienza con el llamado al Job Control (CDDFDM_01_JobControl) para cada tabla, que validara si las cargas ya fueron realizadas para no cargar nuevamente la informacion de la tabla, creará los archivos de control, inicializara el proceso de carga en las tablas de control LAN y CORPORATIVA, llamara a los job de carga según sus parámetros, insertara los registro con errores en la Tabla de Error de CDD y actualizara las tabla de control con el Status de la carga, a medida que termina el proceso de carga, se ejecutara las dependencia, que complementara con información a las tablas de control con el status final del Job.
Carga Tablas No Criticas Reservas • Sequence CDDFDM_00_CargaTD_01_Res_No_Criticas • El sequence CDDFDM_00_CargaTD_01_Res_No_Criticas es el encargado de orquestar de forma “SEQUENCIAL” la carga de las tablas NO criticas, comienza con el llamado al Job Control (CDDFDM_01_JobControl) para cada tabla, que validara si las cargas ya fueron realizadas para no cargar nuevamente la información de la tabla, creara los archivos de control, inicializara el proceso de carga en las tablas de control LAN y CORPORATIVA, llamara a los job de carga según sus parámetros, insertara los registro con errores en la Tabla de Error de CDD y actualizara las tabla de control con el Status de la carga, a medida que termina el proceso de carga, se ejecutara las dependencia, que complementara con información a las tablas de control con el status final del Job. 14
Carga Tablas No Criticas Ticket • Sequence CDDFDM_00_CargaTD_01_Tkt_No_Criticas • El sequence CDDTD_00_CargaTD_01_Tkt_No_Criticas es el encargado de orquestar de forma “SEQUENCIAL” la carga de las tablas NO criticas, llamando a las Sequencias • CDDTD_00_CargaTD_01_Tkt_No_Criticas_1 • CDDTD_00_CargaTD_01_Tkt_No_Criticas_2 15
Carga Tablas No Criticas Ticket 1 • Sequence CDDFDM_00_CargaTD_01_Tkt_No_Criticas_1 • El sequence CDDFDM_00_CargaTD_01_Tkt_No_Criticas_1es el encargado de orquestar de forma “SEQUENCIAL” la carga de las tablas NO criticas, comienza con el llamado al Job Control (CDDFDM_01_JobControl) para cada tabla, que validara si las cargas ya fueron realizadas para no cargar nuevamente la información, creara los archivos de control, inicializara el proceso de carga en las tablas de control LAN y CORPORATIVA, llamara a los job de carga según sus parámetros, insertara los registro con errores en la Tabla de Error de CDD y actualizara las tabla de control con el Status de la carga, a medida que termina el proceso de carga, se ejecutara las dependencia, que complementara con información a las tablas de control con el status final del Job. 16
Carga Tablas No Criticas Ticket 2 • Sequence CDDFDM_00_CargaTD_01_Tkt_No_Criticas_2 • El sequence CDDFDM_00_CargaTD_01_Tkt_No_Criticas_2es el encargado de orquestar de forma “SEQUENCIAL” la carga de las tablas NO criticas, comienza con el llamado al Job Control (CDDFDM_01_JobControl) para cada tabla, que validara si las cargas ya fueron realizadas para no cargar nuevamente la información, creara los archivos de control, inicializara el proceso de carga en las tablas de control LAN y CORPORATIVA, llamara a los job de carga según sus parámetros, insertara los registro con errores en la Tabla de Error de CDD y actualizara las tabla de control con el Status de la carga, a medida que termina el proceso de carga, se ejecutara las dependencia, que complementara con información a las tablas de control con el status final del Job.
Carga Tablas Graba Estados • CDDFDM_00_GrabaEstado • Job que lee la tabla de control y graba un archivo de texto todos los registros asociado a la carga de TD y que será enviado al final del proceso vía correo electrónico, con el fin de informar al administrador el estado final de la carga. 18
Otras Funcionalidades • Otras Funcionalidades La administración de Cada proceso tiene la capacidad de: • Reintentos: (Valor Paramétrico, default 3) de ejecuciones de Jobs una vez detectado la caída de alguno de ellos, si después de los reintentos definidos no logra auto recuperarse se da por abortado el Sistema. • Recuperación: Capacidad de Recuperar sólo los proceso abortados, para lo cual, se debe gatillar la misma Shell de Ejecución. • Para cada proceso se registrara las ejecuciones en las tablas de control internas como corporativa.
Tablas de Control • Tabla de Control • Ejemplos de cómo se visualizan los registro procesados en la tablas de control CDD, esta tabla registra para ambos procesos sea este Proceso para el Modelo Oracle y Teradata • CTR_CDD • EJECUTA_PROCESOS
CheckList de Diagnostico • Tips para correcto funcionamiento del sistema • A continuación se detalla los tips de buenas practicas: • Se debe considerar que para una buena ejecución del proceso se debe encontrar 100% compilado y sin errores. Se recomienda que mensualmente se realice una compilación completa del sistema. • Dado el gran volumen de archivos de procesamiento de datos a cargar diariamente , se recomienda contar con al menos un 20% ó 10% de espacio libre en Unix. • Los Administradores de base de datos tanto de ORACLE, deben tener la preocupación de mantener los tablespaces asignados con espacio suficiente. • Se recomienda realizar mantención semanal a las tablas de oracle con el objetivo de mantener los índices actualizados.
Preguntas • PREGUNTAS ¿ ?