Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 18

Integracin de datos

Son procesos que transforman datos de entrada a de salida en base a herramientas p/procesar
grandes cantidades d informacin
Cada componente tiene 1 tipo de transformacin d datos y tiene caractersticas especiales
Proporcionan informacin p/la toma de decisiones (BI) Bussiness intelligence
Datawarehouse: Software que compila informacin p/toma d decisiones
ABInitio sirve p/poblar los dw (Data Warehouse)
Tipos de procesos d integracin
Fuentes de datos ---ETL process----data warehouse-----Data Warehouse
-Datos de entrada
Datos q vienen de BD, Archivos. Etc.
Tipos de informacin : Archivos d texto, xml, protocolos d informacin
C/herramienta tiene diversas interfaces p/leer informacin d informacin llamadas conectores
Transformaciones
Unidades de procesamiento de datos
C/transformacin c hace x componentes especializados
C/componente tiene 1 tarea en especial
Puede ser: ordenar, filtro (quitar informacin ), edicin d datos, join (mediante 1 llave
idvendedor), uniones (juntar tablas d mismo formato).
Datos d salida
Datos q vienen de BD, Archivos. Etc.
Tipos de informacin: Archivos d texto, xml, protocolos d informacin
Reglas d negocio. Pasos a seguir alguna aplicacin o sistema transformacin q solicita el usuario
Multiprocesos paralelismo
El procesas grandes volmenes d informacin demanda memoria, espacio, procesador
Herramientas hacen paralelismo y multiproceso (contrario a en serie)
-Multiprocesamiento- Se necesita mas d 1 procesador p/poder correr varios procesos al mismo
tiempo
-Paralelismo. Dividir el procesamiento p/ejecutar al mismo tiempo n c/procesador p/acelerar la
resolucin dl problema aunque depende del hardware de la pc/servidor, etc.
-Herramientas
Pentaho, informtica Power Center, Tibco, ab initio (www.abinitio.com)
AbInitio
Pasos p/la creacin de un software
1. Anlisis
Requerimientos funcionales (criterios p/uso dl software )
Requerimientos no funcionales (no afectan software )
Reglas d negocio, bases de datos
2. Diseo funcional
Diagrama de proceso
Arquitectura de solucin
Matriz de origen y destino, rastreabilidad
3. Diseo tcnico
Especificaciones ETL
Estimacin x componentes
Estrategia d construccin
4. Construccin
Implementacin y/o desarrollo d ETL
Pruebas unitarias, integradas
5. Pruebas
Desempeo
Aceptacin d usuario UAT
6. Liberacin
Matriz d objetos etl
Manual d instalacin y d operacin
Reglas de transformacin. Aplica reglas sobre los datos p/su manipulacin. Los tipos de reglas de
transformaciones son:
*Validacin. Que datos cumplen las necesidades de negocio y operativa, p/su tratamiento como
incidencias
*Homologacin. Manipulacin d datos p/establecer formatos d acuerdo a lineamiento a cumplir
(join)
*Enriquecimiento. Se hace agregacin de datos a los originales p/cumplir reglas de negocio
(reportar ventas en dlls datos p/sumar a la informacin dada x cliente)
Los datos no se alteran
Los datos se les pueden aplicar las siguientes transformaciones (agregacin, separacin, formato)
Calidad d datos. Procesos p/garantizar la calidad d datos existentes y evitar perdidas
Manejador d versiones. Es el proceso d asignacin d nombre a 1 software p/indicar nivel d
desarrollo
Overview AbInitio
Sandbox ah c encuentra proyecto (plans, grafos)
Instancia de trabajo p/1 proyecto n particular fsicamente est en 1 directorio dentro del sistema
operativo que aloja el co-operativing system
Archivos de sistema. Archivos externos accedidos p/procesar la informacin q contengan
ACData. Ubicacin de los datos temporales de componentes y flujos
Bases d datos. Externas BD, se extrae p/su procesamiento
Grafo. Es 1 diagrama que define las etapas d 1 tarea, compuesta x componentes, realizan
procesamiento d informacin a la agrupacin d grafos c llama subgrafos
Plan. Serie d tareas interrelacionadas p/implementar objetivos dl negocio, incluye grafos, scripts, y
otros planes
Lenguaje d Manipulacin d Datos DML. Representacin d tipos, formato d registros, expresiones,
funciones d transformacin, especifica d llaves; se puede manipular p/complementar la
implementacin en el GDE (da estructura a la fuente y a la salida de informacin)
Sandbox. Copia local dl proyecto, lgicamente el proyecto se encuentra en el repositorio tcnico
EME
Proyecto pblico. Proyecto cuyo metadatos son compartidos x otros proyectos
Proyecto privado, No es accesible a otros proyectos, los grafos son puestos n 1 privado
Proyecto stdenv. Proyecto publico configurable c/la definicin d ambiente AbInitio
(automticamente se genera)
Proyecto adenv. Proyecto no configurable, lo genera automticamente
Metadatos. Grafos, Formatos d registros (dml), especificadores d llave, funciones d transformacin
(archivos xfr), descriptores d datos, informacin d seguimiento, versionamiento (rutas, extensin
informacin d los datos)

Ambiente AbInitio
Contiene conjunto d aplicaciones y proyectos
Es 1 forma estndar de organizar 1 proyecto p/desarrollo, pruebas y ejecutar aplicaciones
completas
PERMITE
Organizar archivos dml y transformaciones
Guarda referencias a datos y multiarchivos
Versiones especificas d actividades (check in-out)
Configurar parmetros d ejecucin
EJECUCION
Todos los desarrollos se ejecutan sobre 1 ambiente AbInitio
Vara dependiendo parmetros definidos
Extensiones en sandbox
Grafo .mp
Format .dml
Db db_info.dbe
Transform .xfr
GDE Graphical Development Enviroment (finder de AbInitio)
Ctrl+f9 aparece ventana para explorar sandbox (view sandbox)
Parmetros d sandbox. Especificar los directorios d archivos de configuracin, funciones y grafos
los cuales deben estar parametrizados lo q permite q c ejecuten bien los sandboxes d los usuarios
Promocin. Migrar aplicaciones de 1 proceso a otro
Parmetros. Hace ms fcil la promocin d aplicaciones entre ambientes
Fuentes
Datos p/llegar a 1 lugar q puede ser tabla, archivo, etc.
Pueden ser archivos planos (txt, delimitados, long fija, Excel, xml), bd, servicios web, conexin a
otros sistemas colas d mensaje
Se encuentran n carpeta datasets del GDE
Se debe especificar url, formato (extensin DML), parmetros d conexin (user/password)
DML (estructura de tabla o archivo que se va a leer)
Input file
Sirve p/querer abrir 1 archivo pide url, nombre y ext
Ports debes darle a la herramienta como viene estructurada la tabla q va a tomar en record format
se debe poner cuantos campos tiene el archivo
Record (embed)
Integer(4) customer_id;
String(10) first_Name;
End;
Record (use file) Preferiblemente
File: Ruta en carpeta d dml en sanbox.dml $AI_DML/household.dml
Input table
Se va a usar 1 tabla como fuente
Q informacin tiene la tabla -training.dbc- lo genera el admin de database
Data location pones q debe devolver la herramienta el co operating system
Ports (propagate from neighbors) Clic en generar
Folder dataset
Propiedades dl componente clic derecho
En pestaa datos se le dic al co operating system como encontrar y conectar a la database
Pestaa puertos se especifica formato de registros
Ctrl D view data
Input table component
Accesa datos a la tabla de bases de datos
Destinos
Se guarda la informacin procesada pueden ser planos, bd, serv web
Output file, output table
p/archivo Ruta, nombre, dml
p/tabla Dbc, dml,
Manejo d archivos si el archivo no existe crearlo, si ya existe reemplazarlo
Output table, file
Dbc, poner dnde se debe guardar los datos
Si ya existe agrega esos registros o borra contenido; si no existe cralo
Truncate, delete (limpia) drop (borra tabla)
Api default
Utilera si c tiene se selecciona
Usar api

Formatos y tipos de datos
P/procesar datos se necesita saber su estructura, la eleccin d 1 formato d registro de dml tiene
impactos en el desarrollo, la estructura d datos se descrita x 1 dml, se pueden ver al dar clic
derecho n l puerto s entrada o salida formato de registros, el formato de registro c puede ver en
txt dsd men ver texto o grid (tabla)
Tipos d datos: String (cadena de longitud fija nm.(1)o delimitada(,)), decimal (precio), date y
date/time el delimitador no puede formar parte de la cadena
Decimal explicito c especfica cuantos nm. despus del punto decima (4,2)
Decimal implcito no lleva punto decimal, ya c sabe q los ltimos 2 son decimal
Nulo lo permites string(1) nombre = NULL; default value, si quieres que ponga algn dato en caso
de estar vaco
Multiarchivo
Es un dataset (mucha informacin) en paralelo, los archivos que componen el multifichero son
llamados particiones, permite leer y escribir los datos en paralelo, cada particin es 1 archivo
ordinario que contiene una parte del archivo original
Mfile:url.dat (indica q es multiarchivo)
File:url.dat (archivo serial)
Formato de los datos DML
Se especifica igual que para cualquier otro componente (en ports)
El tipo de sistema de archivos usado por los componentes multiarchivos se denomina mfs (multi
file system)
Antes de poder usar este tipo de componentes es necesario crear el mfs, esto se hace desde el co
operating system desde lnea de comando, se deben especificar el nm. de operaciones que se
crearan, depende del nm. d procesadores que tenga el servidor
Particiones se usan desde el nm. 0
Cada componente de un grafo tiene un layout que es el que indica si se est ejecutando en serie o
en paralelo



Se especifica en la pestaa data en
las propiedades del componente

Control partition
(2way)
Partition 0
(2way_0)
Partition 1
(2way_1)
Los componentes c/layout serial se ejecutan donde el directorio del mismo est definido
Los componentes c/layout paralelo se ejecutan en las particiones del mfs
Al particionar se le pone en el elemento llave el criterio x el que se debe repartir el archivo a las
particiones, x ej key = city o city, cust_id y segn los datos los va a repartir segn este campo
Ordenamientos (sort)
Ordenar datos se hacen mediante 1 llave, puede ser (simple) 1 campo o compuesta (2 o ms
campos) pueden ordenar campos o cadenas, ascendente o descendente
Cuando trabaja en paralelo, ordena datos de la misma particin
Pestaa sort en GDE
Configuracin de sort
1. Ports. Especifican datos d entrada y salida d datos (from neighbors)
2. Parameters. Se especifica la llave
3. Se debe poner un nombre descriptivo en la etiqueta
Dedup sorted
Remueve registros duplicados de un flujo de datos ordenados, un registro se llama duplicado si se
repite el valor d la llave, se pueden eliminar de 3 modos
Primero. Este valor x defecto, el 1er registro se queda
Ultimo. El ltimo registro se queda
nico. Se eliminan duplicados
Filtrado
Permite seleccionar datos de entrada x 1 criterio de seleccin, el criterio de salida puede ser 1
expresin dml (x ej string_trim), la salida son los datos que cumplan el criterio, tiene 1 puerto con
los registros no seleccionados
En GDE folder Transform
state = MA or state = RI
string_substring(Jaguar,4,1) De la palabra Jaguar solo regresa la u de 4 palabras saca la 1
despus d ese caracter


Reformat
En GDE est en Transform, y con expresiones DML puede separar, remover o renombrar campos
entrantes o combinarlos c/nuevos, lee 1 registro a la vez y le aplica las funciones de
transformacin indicadas, por c/registro de entrada hay 1 de salida
XFR (funciones externas realizadas por el usuario) se pueden llamar desde componente Reformat
desde archivo externo en carpeta XFR si es necesaria; puede ser repetitiva o difcil de hacer se
encapsula p/poder ser llamado de ser necesario
Editor de Transformaciones
2 clics en componente, se abre editor grfico p/ediciones de transformacin
P/sumar cadenas concatena al+ +cas = al cas; Nmeros si los suma
Puede agregar o quitar campos d entrada o salida de campos
Se debe poner en el DML el nombre del nuevo campo p/q lo cree en el output
Al agregar se coloca nombre del campo creado previamente en transform rules y lo agrega al
output
O se puede agregar al output y se hereda a la parte derecha del format
string_filter_out(in.salesperson,0123456789) Quita caracteres del campo seleccionado
string_upcase(in.salesperson) Pasa a maysculas texto de ese campo
string_upcase(string_filter_out(in.salesperson,0123456789)) Se cumplen las 2 instrucciones
Rollup
En GDE menu Format. Hace operaciones (funciones de agregacin) en 1 grupo de registros como
promedio, mx., min, conteo, suma, etc. Los datos deben estar ordenados por la llave mediante 1
sort, o c puede quitar este requerimiento del component
Pasos
1. Seleccionar que campo(s) sern la llave de agrupacin
2. Elegir funcin d agregacin x ej max(in.year)
Se pueden agregar condiciones en las funciones de agregacin, las expresiones se pasan como
otro parmetro a la funcin correspondiente
sum(in.table),date(in.table)==2000)
Se pueden eliminar duplicados usando funcin de agregacin first
Join
Combina datos de varias fuentes de informacin, basndose en una llave (preferentemente 1
nm.), la cual est compuesta por 1 o ms campos, este campo debe estar presente en todas las
fuentes a combinar
Lee los registros de entrada, si hay varias coincidencias habrn varios registros de salida
Si la llave no existe en la 2da tabla, dichos registros no aparecern en la output
La llave puede llamarse de diferente forma solo hay que configurarla en el join
Tipos de join
Inner join. Se produce 1 registro de salida solo cuando hay 1 coincidencia entre los
registros de todas las fuentes de datos
Full outer join. Se produce inclusive cuando no encuentra coincidencia
Join explcito. Por c/registro de entrada se produce 1 registro de salida aun y cuando no se
encontr correspondencia entre los registros de las otras fuentes de datos (saca todos los
input aun cuando no haya output correspondiente) se le configura si se desea poner la
input0 o input1 y lo q se combina en el otro
Guarda los datos de unused ports (datos no usados)
Se puede poner default value p/q trabaje si es que viene nulo algn registro (null=false)
Se pueden ingresar datos ya ordenados (preferiblemente) o se pueden ordenar en el mismo join
por lo que se antecede 1 sort con el check sort (false/true)
Trash
Se usa p/descartar registros, tambin p/saber cuntos registros salen d 1 puerto sin tener que
escribir esta salida a disco
Puede funcionar como 1 anti-join es decir, mandar los registros que no tengan registros
coincidentes entre los input x ej los que no tienen registros
Puerto log dice lo que se hizo cuando se corri el grafo
Look up
Recupera el dato pero la multiplicacin u operacin de los datos es mediante el reformat
Permite hacer bsquedas en memoria, funcionan c/1 llave (p/la q se crea ndice) Carga en
memoria (cach)
Cualquier invocacin al lookup busca el dato por el ndice creado, si existe coincidencia, se regresa
dato solicitado, puede ser invocado desde cualquier componente en 1 grafo
Similar a join
No tiene puertos asociados, se especifica como cualquier otra funcin DML
Se jala otra entrada de datos que est en la memoria (especificando la llave), p/poder realizar 1
operacin y generar ms datos (T.C.)
1. Archivo a guardar (URL)
2. DML de archivo
3. Llave de lookup
4. Desde dispositivo (x ej transform, pestaa expresiones)
lookup(nombre del lookup,-parametro-).campo a regresar
1 mismo lookup se puede accesar a diferentes fuentes usando diferentes llaves (a diferencia de los
joins)
Join Lookup
Pueden combinar n flujos Equivale a un join de 2 flujos
Todos los registros deben tener la misma llave Se pueden usar diferentes llaves con un mismo
componente
Soporta todos tipos de join Es equivalente a un inner join o a un left outer
join solamente
La llave siempre est compuesta por campos
en el mismo registro
La llave puede ser 1 campo calculado
Datos se manejan en disco Datos persisten en memoria
Los flujos de entrada pueden ser de cualquier
tamao
Los lookups bsicos se limitan a un tamao
aprox d 2 GB
Las entradas estn conectadas directamente a
un solo componente
El mismo lookup se puede compartir en
mltiples componentes en 1 grafo
Se usa cuando el volumen de informacin crece
con el tiempo
No se recomienda si el volumen de informacin
crece c/el tiempo

Grafos de flujos paralelos.
Buena manera de mejorar el desempeo. Tipos:
De componente. Se usa 1 componente que se ejecuta en diferentes particiones
El sistema Co-Operating puede correr componentes en c/rama concurrentemente, el
paralelismo de componentes es 1 beneficio que da el expresar las aplicaciones como 1
grafo de flujo de datos
El paralelismo en pipeline se usa p/componentes que pueden producir registros de salida
antes de consumir todos los registros de entrada
Ocurre cuando en 1 grafo hay ins y outs independientes
Paralelismo de datos se usan diseos paralelos en 1 grafo (la informacin se separa) se
debe usar 1 MFS, usar particiones p/leer varios inputs y departicionar p/escribir en
archivos seriales, usar el reparticionamiento p/redistribuir registros en diferentes flujos
paralelos; 1 el particionador luego departicionador (merge)
Varias copias de 1 proceso actan en diferentes subconjuntos de datos al mismo tiempo
El componente que se est ejecutando paralelamente es indicado por el layout del mismo
Departitioning
Lee informacin de varias particiones p/hacer 1 particin nica, determina como ordenar los datos
cuando los flujos estn combinados, diferentes componentes departitioning pueden ordenar los
registros de diferentes maneras
2 inputs de particiones ---- a output serial
Repartitioning
Redistribuye datos d diferentes particiones, a otras diferentes en otro orden
Si el input ya viene paralelo Se hace uso de reparticionado para distribuir los registros a nuevas
particiones p/q estas puedan estar agrupadas d otro modo. Reacomoda los datos por la llave que
lo necesites. Tipos de particiones.
Round-Robin Por llave
Mecanismo ms eficiente
Prcticamente el mismo nm. de registros
en todas las particiones
Se usa cuando los registros se pueden
procesar independientemente
No se usa cuando la informacin debe ser
agrupada (rollups o join)
Usa llave p/particionar
No es tan eficiente
La llave se debe seleccionar
cuidadosamente p/evitar problemas de
datos
Se usa p/joins y rollups ya que necesitan
que estn agrupados los datos

Sort (top_score)----fan in ------ merge (top_score) ------- serial file
Componentes departition
Gather. Lee registros sin ningn orden en los datos, el ms rpido
Gather implcito. La entrada de algunos componentes pueden juntar la salida de mltiples
flujos
Merge. Combina registros de inputs paralelos ordenadamente, la informacin en c/flujo
debe ser ordenada x la llave y se debe mantener el criterio de ordenacin en que los flujos
se combinan de otro modo arrojar datos errneos
Para la ejecucin en paralelo, las llaves de particionamiento debern ser compatibles con las
usadas x los componentes rollup y join, si la llave del grafo cambia, tambin la del
particionamiento
Departitioning usado en el reparto afecta rendimiento x generar cuello de botella
Una mejor opcin es hacerlo en paralelo, c/particin en paralelo enva el registro al flujo de salida
correcto sin el cuello de botella. Se necesita configurar
Componente de particionamiento ejecutndose en paralelo
Un flujo all to all
Un componente departicionador (gather o merge) o un componente c/gather implcito (x
ej sort)
Si se quita el all to all se va a comportar como serial y arrojara os mismos resultados del input.
Se deber configurar el all to all ya sea straight, fan in o fan out segn queramos como funcione
Errores (ventana F2 GDE)
Cuando aparece algn error al ejecutar 1 grafo, muestra la ventana
Primera lnea. En que parte ocurri el error Segunda Se detalla Por ltimo se indica en que lnea
ocurri
Cada componente tiene sus puertos donde mandar los errores (se pueden poner componentes
como trash o 1 output p/guardar dichos datos)

Por default, cuando se encuentra el primer error se aborta el proceso; este comportamiento se
modifica cambiando el parametro reject-threshold hay las sig
opciones
Abort on first reject. Termina proceso al primer error
Never abort. Continua aunque haya errores, se pueden capturar desde el puerto de
errores de cada componente





Debug
Existen mecanismos p/controlar la ejecucion
de los flujos
Dichos mecanismos nos permiten:
Parar la ejecucion de 1 flujo en 1
punto determinado
Ejecutar el flujo paso a paso
Inspeccionar el valor de las variables
incolucradas
Evaluar expresiones en 1 punto de
ejecucion dado
til para identificar y localizar errores de lgica en 1 grafo
Watcher
Sirven p/ver los datos que pasan en algun flujo de datos, hay q
seleccionar el flujo clic derecho Add watcher o
Deshabilitar componentes
Se pueden deshabilitar con clic derecho Disable p/q funcione el grafo sin dicho componente, as
mismo se pueden volver a habilitar
Componente Aislados (isolate)
Se ejecuta independiente del resto del grafo, cuando se tiene 1 aislado se guardan los datos de
entrada al componente en 1 archivo temporal en la 1er ejecucion y ya en ejecuciones posteriores
los datos se usan p/ejecutar el componente aislado
Pasos.
1. Habilitar modo debug
2. Seleccionar componente
3. Boton derecho sobre
componente opcin -isolate for
debugging-
Break point
Se ponen sobre las transformaciones de
1 componente, al ejecutar 1 grafo y
llegar al breakpoint ah se detendr.
Para hacerlo se selecciona la expresion, clic derecho set breakpoint o F9
Reusabilidad
Todos los componentes de 1 grafo incluso el grafo mismo pueden ser reusados, as como los DML
se puede guardar en 1 archivo y reutilizarla en otro grafo x ej al llamar una funcin XFR o cuando
se llama Use File p/copiar el DML de otro archivo en lugar de usarlo embed
Parmetros
Los parmetros son pares de datos (nombre de campo y valor contenido) en ejecucin, el nombre
del campo es sustituido por su respectivo valor
Name Value
$AI_DML c:/training.dml
Los parmetros tienen alcance segn sean asignados, depender desde donde puede ser llamado
hay de diferentes niveles:
Sandbox. Disponibles a cualquier grafo dentro
del sandbox
Grafos.
Componentes.
Se pueden usar en cualquier componente de 1 grafo:
En parmetros de los componentes
En las direcciones URL en input y outputs
En nombres de tablas
En sentencias de SQL
Se pueden usar p/q las capture el usuario y as, el mismo grafo puede ejecutarse y producir
diferentes salidas
Editor de parmetros F11
Se puede especificar 1 parmetro de
entrada, el usuario debe capturar 1 valor
p/ella, tambin pueden ser calculados en
base a otros parmetros previamente
insertad
os



El nombre de los parametos comienzan con $, cuando el nombre de 1 tabla comienza con $ se
encierra en llaves
Hay varios tipos de datos adecuados al configurar el parmetro
Booleanos (0,1)(Tru/False)
Choice (if)
Filename (Muestra dialogo p/seleccin de archivos)
Entero
Cadena (Mas usado)
Exportacin de parmetros
Es posible parametrizar campos llave de algn componente, se deben exportar los parmetros
usados por el mismo especificando nombre p/el parmetro, el tipo en Keyword esto crea el
parmetro tipo Key Specifier y c/q c ejecute pide la llave p/correr el grafo segn lo que se necesite






Cuando se usen otra variables dentro de la interpretacin
PDL no se pone $ solo el nombre de la misma
Tambin se pueden llamar las funciones XFR
${LOS3}
LOS3=file:$AI_SERIAL/sales_report_${STORENO}_${STATE}_${YEAR}.dat






Reuso de componentes
Se puede reusar 1 conjunto de componentes de 1 grafo en otros cuando se usan patrones de
componentes similares en m[ultiples grafos
Estos componentes se llaman subgrafos enlazados (linked subgraphs) los cuales se pueden usar en
otros grafos, es necesario que los inputs y outputs esten bien parametrizadas
Subgrafos reutilizables
P/que un subgrafo pueda ser
reutilizable por cualquier grafo
del sandbox es necesario que
est parametrizado, y pasar los
parametros definidos al
subgrafo en cuestion (linked
subgraph)
Xfr y como c invoca $NOMBRE

También podría gustarte