You are on page 1of 15

HERRAMIENTAS ETL

ANDRS FELIPE ZAMORA GARZN

Trabajo escrito asignatura base de datos III

Javier Ochoa

ESCUELA TECNOLGICA INSTITUTO TCNICO CENTRAL


FACULTAD PROGRAMA INGENIERA DE SISTEMAS
BOGOT
2016

1.

Qu son herramientas ETL y para qu sirven?

ETL - este trmino proviene de ingls de las siglas Extract-Transform-Load que significan Extraer,
Transformar y Cargar y se refiere al proceso de que permite mover o transformar datos
estructurados o no estructurados desde mltiples fuentes (bases de datos, hojas de Excel, archivos
de datos planos, entre otros), reformatearlos limpiarlos en caso de ser necesarios y cargarlos en
un nuevo repositorio de datos denominada Data Mart o Data Warehouse con el objeto de
analizarlos. Tambin pueden ser enviados a otro sistema operacional para apoyar un proceso de
negocio.
ETL forma parte de la Inteligencia Empresarial (Business Intelligence), tambin llamado Gestin
de los Datos (Data Management). El principal objetivo de este proceso es facilitar el movimiento
de los datos y la transformacin de los mismos, integrando los distintos sistemas y fuentes en la
organizacin moderna.
Los procesos ETL tambin se pueden utilizar para la integracin con sistemas heredados
(aplicaciones antiguas existentes en las organizaciones que se han de integrar con los nuevos
aplicativos, por ejemplo, ERPs. La tecnologa utilizada en dichas aplicaciones puede hacer difcil la
integracin con los nuevos programas).
En un proceso ETL no todo vale, por eso hay que saber elegir. Para hacerlo con conocimiento de
causa es necesario conocer las caractersticas ms importantes que debe incluir un software ETL.
Segn Gartner, son las siguientes:
Conectividad / capacidades de adaptacin (con soporte a orgenes y destinos de datos):
se refiere a la habilidad para conectar con un amplio rango de tipos de estructura de
datos, entre los que podran incluirse: bases de datos relacionales y no relacionales,
variados formatos de ficheros, XML, aplicaciones ERP (sistema de planificacin de recursos
empresariales), CRM (sistema de gestin de clientes) o SCM (supply chain management gestin de proveedores), formatos de mensajes estndar (EDI, SWIFT o HL7), colas de
mensajes, emails, websites, repositorios de contenido o herramientas de ofimtica.
Capacidades de entrega de datos: suponen la habilidad para proporcionar datos a otras
aplicaciones, procesos o bases de datos en varias formas, con capacidades para
programacin de procesos batch, en - tiempo real o mediante lanzamiento de eventos.
Capacidades de transformacin de datos: habilidad para la transformacin de los datos,
desde transformaciones bsicas (conversin de tipos, manipulacin de cadenas o clculos
simples) o transformaciones intermedias (agregaciones, sumarizaciones, lookups) hasta
transformaciones complejas, como anlisis de texto en formato libre o texto enriquecido.
Capacidades de Metadatos y Modelado de Datos: recuperacin de los modelos de datos
desde los orgenes de datos o aplicaciones, creacin y mantenimiento de modelos de
datos, mapeo de modelo fsico a lgico, repositorio de metadatos abierto (con posibilidad
de interactuar con otras herramientas), sincronizacin de los cambios en los metadatos en
los distintos componentes de la herramienta, documentacin, etc.

Capacidades de diseo y entorno de desarrollo: representacin grfica de los objetos del


repositorio, modelos de datos y flujos de datos, soporte para test y, capacidades para
trabajo en equipo, gestin de workflows de los procesos de desarrollo, etc.
Capacidades de gestin de datos (calidad de datos, perfiles y minera).
Adaptacin a las diferentes plataformas hardware y sistemas operativos existentes:
mainframes (IBM Z/OS), AS/400, HP Tandem, Unix, Wintel, Linux, Servidores
Virtualizados, etc.
Operaciones y capacidades de administracin: habilidades para gestin, monitorizacin y
control de los procesos de integracin de datos, como gestin de errores, recoleccin de
estadsticas de ejecucin, controles de seguridad, etc.
Arquitectura e integracin: grado de compactacin, consistencia e interoperabilidad de los
diferentes componentes que forman la herramienta de integracin de datos (con un
deseable mnimo nmero de productos, un nico repositorio, un entorno de desarrollo
comn, interoperabilidad con otras herramientas o va API), etc.
Capacidades SOA.
Est claro que la eleccin de un software de ETL puede ser una tarea compleja y, debido a la
repercusin que ello tendr en el desarrollo posterior de un proyecto, es una decisin que no
puede tomarse a la ligera. Una eleccin correcta garantiza:
Un aumento en la velocidad de desarrollo del proceso.
La descentralizacin del control de la ejecucin y de todos los procesos.
Una mayor agilidad en el negocio.
2.

Cmo se transforma la informacin con herramientas ETL?

Cualquier proceso ETL consta de tres fases: extraccin, transformacin y carga. De cada uno de
estos procesos es necesario conocer el funcionamiento y sus claves, pero an es ms decisivo el
comprender las medidas de seguridad y cautelas que se deben tener en cuenta a la hora de
llevarlos a cabo, para evitar que las consecuencias afecten al sistema y a su normal
funcionamiento.
Extraccin.
Para llevar a cabo de manera correcta el proceso de extraccin, primera fase del ETL, hay que
seguir los siguientes pasos:
Extraer los datos desde los sistemas de origen.
Analizar los datos extrados obteniendo un chequeo.
Interpretar este chequeo para verificar que los datos extrados cumplen la pauta o
estructura que se esperaba. Si no fuese as, los datos deberan ser rechazados.
Convertir los datos a un formato preparado para iniciar el proceso de transformacin.
Es necesario extremar la cautela en esta fase del proceso de ETL que es la extraccin, por lo
que se debe tener en cuenta que:
En el momento de la extraccin, anlisis e interpretacin: los formatos en que se
presenten los datos o los modos como stos estn organizados pueden ser distintos en

cada sistema separado, ya que la mayora de los proyectos de almacenamiento de datos


fusionan datos provenientes de diferentes sistemas de origen.
En el momento de la conversin de datos: conviene recordar que los formatos de las
fuentes normalmente se encuentran en bases de datos relacionales o ficheros planos,
pero pueden incluir bases de datos no relacionales u otras estructuras diferentes.
Sin embargo, la mesura ms importante a considerar sera el exigir siempre que la tarea de
extraccin cause un impacto mnimo en el sistema de origen. Este requisito se basa en la
prctica ya que, si los datos a extraer son muchos, el sistema de origen se podra ralentizar e
incluso colapsar, provocando que no pudiera volver a ser utilizado con normalidad para su uso
cotidiano.
Para evitar este impacto y sus consecuencias, en sistemas grandes las operaciones de extraccin
suelen programarse en horarios o das donde la interferencia con el sistema y su uso sea nula o
mnimo.
Transformacin.
La fase de transformacin de un proceso de ETL aplica una serie de reglas de negocio o
funciones sobre los datos extrados para convertirlos en datos que sern cargados. Estas
directrices pueden ser declarativas, pueden basarse en excepciones o restricciones pero, para
potenciar su pragmatismo y eficacia, hay que asegurarse de que sean:

Declarativas.
Independientes.
Claras.
Inteligibles.
Con una finalidad til para el negocio.

En ocasiones ser necesario realizar alguna pequea manipulacin de los datos, sin embargo, y
dependiendo siempre de las fuentes de datos, a veces los que har falta ser aplicar algunas
de las siguientes transformaciones:
Seleccionar slo ciertas columnas para su carga (por ejemplo, que las columnas con
valores nulos no se carguen).
Traducir cdigos (por ejemplo, si la fuente almacena una H para Hombre y M para
Mujer pero el destino tiene que guardar 1 para Hombre y 2 para Mujer).
Codificar valores libres (por ejemplo, convertir Hombre en H o Sr en 1).
Obtener nuevos valores calculados (por ejemplo, total_venta = cantidad * precio).
Unir datos de mltiples fuentes (por ejemplo, bsquedas, combinaciones, etc.).
Calcular totales de mltiples filas de datos (por ejemplo, ventas totales de cada regin).
Generar campos clave en el destino.
Transponer o pivotar (girando mltiples columnas en filas o viceversa).
Dividir una columna en varias (por ejemplo, columna Nombre: Garca, Miguel; pasar a
dos columnas Nombre: Miguel y Apellido: Garca).
Aplicar para formas simples o complejas, la accin que en cada caso se requiera, como por
ejemplo:

Datos OK: entregar datos a la siguiente etapa (fase de carga).


Datos errneos: ejecutar polticas de tratamiento de excepciones.

Carga
En esta fase, los datos procedentes de la fase anterior (fase de transformacin) son cargados en el
sistema de destino. Dependiendo de los requerimientos de la organizacin, este proceso puede
abarcar una amplia variedad de acciones diferentes. Por ejemplo, en algunas bases de datos ser
necesario sobreescribir la informacin antigua con nuevos datos mientras que en otras, bastara
con resumir las transacciones y almacenar un promedio de la magnitud considerada.
Los data warehouse mantienen un historial de los registros, de manera que es posible en todo
momento hacer una auditora de los mismos. Esto permite disponer de un rastro de toda la
historia de un valor a lo largo del tiempo.
Existen dos formas bsicas de desarrollar el proceso de carga:
Acumulacin simple: esta manera de cargar los datos consiste en realizar un resumen de
todas las transacciones comprendidas en el perodo de tiempo seleccionado y
transportar el resultado como una nica transaccin hacia el data warehouse,
almacenando un valor calculado que consistir tpicamente en un sumatorio o un
promedio de la magnitud considerada. Es la forma ms sencilla y comn de llevar a cabo el
proceso de carga.
Rolling: este proceso sera el ms recomendable en los casos en que se busque
mantener varios niveles de granularidad. Para ello se almacena informacin resumida a
distintos niveles, correspondientes a distintas agrupaciones de la unidad de tiempo o
diferentes niveles jerrquicos en alguna o varias de las dimensiones de la magnitud
almacenada (por ejemplo, totales diarios, totales semanales, totales mensuales, etc.).
Sea cual sea la manera de desarrollar este proceso elegida, hay que tener en cuenta que
esta fase interacta directamente con la base de datos de destino y, por eso, al realizar esta
operacin se aplicarn todas las restricciones que se hayan definido en sta. Si estn bien
definidas, la calidad de los datos en el proceso ETL estar garantizada.
Ejemplos de estas restricciones pueden ser:

3.

Valores nicos.
Integridad referencial.
Campos obligatorios.
Rangos de valores.
Qu beneficios tengo yo usando una herramienta ETL?

La idea es que una aplicacin ETL lea los datos primarios de unas bases de datos de sistemas
principales, realice transformacin, validacin, el proceso cualitativo, filtracin y al final escriba
datos en el almacn y en este momento los datos son disponibles para analizar por los usuarios.
Dentro de las funciones principales de las herramientas ETL encontramos:

Control de la extraccin de los datos y su automatizacin, disminuyendo el tiempo


empleado en el descubrimiento de procesos no documentados, minimizando el margen de
error y permitiendo mayor flexibilidad.
Acceso a diferentes tecnologas, haciendo un uso efectivo del hardware, software, datos y
recursos humanos existentes.
Proporcionar la gestin integrada del Data Warehouse y los Data Marts existente,
integrando la extraccin, transformacin y carga para la construccin del Data Warehouse
corporativo y de los Data Marts.
Uso de la arquitectura de metadatos, facilitando la definicin de los objetos de negocio y
las reglas de consolidacin.
Acceso a una gran variedad de fuentes de datos diferentes.
Planificacin, logs, interfaces a schedulers de terceros, que nos permitirn llevan una
gestin de la planificacin de todos los procesos necesarios para la carga del Data
Warehouse.
Mover datos desde una o mltiples fuentes.
Reformatear esos datos y limpiarlos, cuando sea necesario.
Cargarlos en otro lugar como puede ser una base de datos, un data mart o un data
warehouse.
Una vez alojados en el nuevo destino, esos datos puedan ser analizados.
O, cuando ya estn cargados en su ubicacin definitiva, se empleen en otro sistema
operacional, para apoyar un proceso de negocio.
Tcnicas de integracin de datos en una solucin nica y lista para usar.
La posibilidad de elegir la tcnica que ms convenga (ETL, replicacin,
federacin, bsqueda o integracin basada en eventos)
La seguridad de que se lograrn elaborar flujos de datos flexibles y heterogneos.
Unos costes operativos mucho ms reducidos que con cualquier otra solucin.
La disminucin tambin de la complejidad, al contar con un marco uniforme
para todas las tcnicas y al brindar compatibilidad con una gran variedad de
fuentes de datos.
Los procesos ETL no slo se utilizan cuando sobreviene la aparicin de nuevas aplicaciones que se
han de incorporar a las rutinas de la organizacin, sino que tambin es frecuente emplearlas para
la integracin con sistemas heredados.

Cuando se habla de sistemas heredados se est haciendo referencia a las aplicaciones antiguas
que existen en el entorno de la empresa. Muchas veces, estos sistemas se deben integrar con
nuevos aplicativos, por ejemplo con ERPs.
La principal dificultad que puede presentarse en este tipo de situaciones es que la tecnologa
utilizada en estas aplicaciones antiguas complica la integracin con los nuevos programas.
4.

Qu es pentahoo y para qu sirve?

Pentaho Business Intelligence (BI) es una iniciativa en curso por la comunidad de Open Source que
provee organizaciones con mejores soluciones para las necesidades de Business Intelligence (BI) a
las empresa.

La plataforma Open Source Pentaho Business Intelligence cubre amplias necesidades de anlisis de
los datos y de los informes empresariales.
Las soluciones de Pentaho estn desarrolladas en Java y tienen un ambiente de implementacin
tambin basado en Java. Eso hace que Pentaho es una solucin muy exible para cubrir una
amplia gama de necesidades empresariales tanto las tpicas como las sosticadas y especcas del
negocio (ver g.7.3).
Las soluciones que Pentaho pretende ofrecer se componen fundamentalmente de una
infraestructura de herramientas de anlisis e informes integrados con un motor de workow de
procesos de negocio.
La plataforma ser capaz de ejecutar las reglas de negocio necesarias, expresadas en forma de
procesos y actividades y de presentar y entregar la informacin adecuada en el momento
adecuado, mediante analisis OLAP, Cuadros de Mando, etc.

Arquitectura de Pentaho
La solucin Business Intelligence OpenSource Pentaho pretende ser una alternativa a las
soluciones propietarias tradicionales ms completas: Business Objects, Cognos, Microstrategy,

Microsoft, IBM, etc., por lo que incluye todos aquellos componentes que se pueden encontrar en
las soluciones Business Intelligence (BI) propietarias ms avanzadas:

Reporting.
Anlisis.
Dashboards.
Workow.
Data Mining.
ETL.
Single Sign-On. Ldap.
Auditora de uso y rendimiento.
Planicador.
Noticador.
Seguridad. Perles.

Componentes del Pentaho


Business Intelligence Pentaho es una solucin realizada en Java de cdigo abierto exible y muy
potente que cubre prcticamente todas las necesidadesde una empresa.
Como la misma fue creada con el 100% J2EE, asegurando de esta forma la escalabilidad,
integracin y portabilidad.
Componentes Soportados
Servidor: Pentaho puede correr en servidores compatibles con J2EE como JBOSS AS, IBM
WebSphere, Tomcat, WebLogic y Oracle AS.
Base de datos: Va JDBC, IBM DB2, Microsft SQL Server, MySQL, Oracle, PostgreSQL, NCR Teradata,
Firebird.

Sistema operativo: No existe dependencia; lenguaje interpretado.


Lenguaje de programacin: Java, Javascript, JSP, XSL (XSLT / XPath / XSL-FO).
Interfaz de desarrollo: Java SWT, Eclipse, Web-based.
Todos los componentes estn expuestos va Web Services para facilitar la integracin con
Arquitecturas Orientadas a Servicios (SOA) .
Tambin todos los repositorios de datos del Business Intelligence Pentaho estn basados en XML.

Caractersticas de Pentaho
Pentaho Business Intelligence abarca las siguientes areas de reporte:
Pentaho Reporting: La solucin proporcionada por la plataforma Business Intelligence OpenSource
Pentaho e integrada en su suite para el desarrollo de informes se llama Pentaho Reporting.
Existen tres productos con diferentes enfoques y dirigidos a diferentes tipos de usuarios:
Pentaho Report Designer: Es un editor basado en Eclipse con prestaciones profesionales
con capacidad de personalizacin de informes a las necesidades de los negocios destinado
a desarrolladores.
Esta herramienta est estructurada de forma que los desarrolladores puedan acceder a sus
prestaciones de forma rpida.
Incluye un editor de consultas para facilitar la confeccin de los datos que sern utilizados en un
informe.

Pentaho Report Design Wizard: Es una herramienta de diseo de informes, que facilita el
trabajo y permite a los usuarios obtener resultados de forma inmediata. Est destinada a
usuarios con menos conocimientos tcnicos.
Web ad-hoc reporting: Es el similar a la herramienta Pentaho Report Design Wizard, pero
via web.
Esta herramienta extiende la capacidad de los usuarios nales para la creacin de informes a partir
de plantillas preconguradas y siguiendo un asistente de creacin.

Pentaho Anlisis
Ayuda a operar con mxima efectividad para ganar perspicacia y entender lo necesario para tomar
optimas decisiones.
Las caractersticas generales son:
Vista dimensional de datos (por ventas, por perodo, por empleados, etc.).
Navegar y explorar (Anlisis Ad Hoc, Drill-down, etc.).
Interactuar con alto rendimiento mediante tecnologas optimizadas para la rpida
respuesta interactiva.

Pentaho Dashboards
Esta solucin provee inmediata perspicacia en un rendimiento individual, departamental o
empresarial. Pentaho Dashboards facilita a los usuarios de los negocios informacin crtica que
necesitan para entender y mejorar el rendimiento organizacional.
El Pentaho Dashboards es una potente herramienta que cuenta con las siguientes caractersticas:

Identicacin de mtricas clave (KPIs, Key Performance Indicators), mediante la


generacin de Monitoreo/Mtricas.
Realizacin de investigaciones de detalles subyacentes, con reportes de soportes.
Ejecucin de seguimientos de excepciones, permitiendo pre-establecer alertas basadas en
reglas del negocio.

Pentaho Data Integration


Los datos que alimentan a un sistema data warehouse (DW) proviene de diferentes fuentes, estas
fuentes son los distintos sistemas operacionales que la empresa posee, generalmente ni son
homogneos entre s ni concuerdan exactamen con lo que se necesita, por lo que ser necesario
realizar todas las adaptaciones pertinentes.
Tambin muchas organizaciones tienen informacin disponible en aplicaciones y base de datos
separadas.
Pentaho Data Integration abre, limpia e integra esta valiosa informacin y la pone en manos del
usuario. Provee una consistencia, una sola versin de todos los recursos de informacin, que es
uno de los ms grandes desafos para las organizaciones TI hoy en da.
Pentaho Data Integration permite una poderosa ETL (Extract, Transform, Load) Extraccin,
Transformacin y Carga.
El uso de la solucin Kettle permite evitar grandes cargas de trabajo manual frecuentemente difcil
de mantener y de desplegar.

Data Mining
La plataforma Business Intelligence OpenSource Pentaho ofrece diferentes soluciones para el
desarrollo de un proyecto de Business Intelligence.
En este caso se har referencia a la solucin integrada al paquete Business Intelligence Pentaho
para el desarrollo de proyectos de Data Mining.
El Weka (Waikato Enviroment for Knowledge Analysis) es un conjunto de libreras JAVA para la
extraccin de conocimientos desde bases de datos.

Es un software que ha sido desarrollado bajo licencia GPL lo cual ha impulsado que sea una de las
suites ms utilizadas en el rea en los ltimos aos.
Caractersticas Generales del Weka Esta herramienta Open Source incluye las siguientes
caractersticas:
Diversas fuentes de datos (ASCII, JDBC).
Interfaz visual basada en procesos / ujos de datos (rutas).
Distintas herramientas de minera de datos:
Reglas de asociacin (a priori, Tertius, etc.).
Agrupacin / segmentacin / conglomerado (cobweb, EM y k-medias).
Clasicacin (redes neuronales, reglas y rboles de decisin, aprendizaje
bayesiano).
Regresin (regresin lineal, SVM, etc.).
Manipulacin de datos (pick & mix, muestreo, combinacin, separacin, etc.).
Combinacin de modelos (bagging, boosting, etc.).
Entorno de experimentos, con la posibilidad de realizar pruebas estadsticas (Ttest).

Estos entornos son los siguientes:


Simple CLI : Es un entorno consola que permite la invocacin directa mediante Java a
todos los paquetes de weka.
Explorer : Es un entorno visual que ofrece una interfaz grca para el uso de los paquetes
de weka.
Experimenter : Entorno centrado en la automatizacin de tareas de manera que se facilite
la realizacin de experimentos a gran escala.
KnowledgeFlow: Permite generar proyectos de minera de datos mediante la generacin
de ujos de informacin o workow.

5.
Realice una pequea sinopsis con sus propias palabras de como usted usara y
aprovechara una herramienta ETL para poder desarrollar la Idea de negocios que planteamos
anteriormente.
Para el desarrollo de la idea de negocio planteada en mi proyecto que consiste en realizar el
anlisis del impacto de la capacitacin al personal de la Polica Nacional desde diferentes
perspectivas tales como sexo, edad, categora policial, grado, ubicacin geogrfica, tipo de
programa, temtica e programa, entre otras, el uso de una herramienta como Pentahoo estara
ajustada a la necesidad teniendo en cuenta que los componentes del ETL me permitiran realizar la
extraccin, transformacin y cargue de la informacin en un nuevo repositorio para
posteriormente analizarlos y crear dash board que permita a la parte gerencial de la institucin
realizar la toma de decisiones sobre nuevas estrategias que permitan ser ms eficientes y eficaces
los procesos de capacitacin y formacin del personal.

CYBERGRAFIA
http://blog.powerdata.es/el-valor-de-la-gestion-de-datos/bid/312584/Procesos-ETL-Definici-nCaracter-sticas-Beneficios-y-Retos
http://www.dataprix.com/blogs/respinosamilla/herramientas-etl-que-son-para-que-valenproductos-mas-conocidos-etl-s-open-sour
http://etl-tools.info/es/bi/proceso_etl.htm
http://www.dataprix.com/book/export/html/1374

You might also like