2009-07-29 13 views
6

Recientemente he estado expuesto a algunas herramientas de ETL como Talend y Apatar y me preguntaba cuál es exactamente el propósito/objetivo principal de estas herramientas en términos de laymans. Quien los usa principalmente y si los usa, cómo son (desde mi entendimiento) mejor que simplemente escribir algún tipo de scripts.herramientas ETL ... ¿qué hacen exactamente? En términos simples, por favor

+0

"¿Los usa?" ¿Qué quieres decir con "usos"? La gente los escribe. Luego se corren. "Usos" podría significar algo cuando no hay ningún "usuario final" involucrado. –

+0

Déjeme señalarle [mi respuesta a una pregunta relacionada] (http://stackoverflow.com/questions/51198/what-etl-tool-do-you-use/67784#67784). – runrig

+0

Como se eliminó el subproceso SO enlazado, [aquí hay una definición de ETL] (http://www.dbasupport.com/forums/showthread.php?35663-what-s-ETL&p=155078#post155078) – runrig

Respuesta

14

ETL significa "Extraer/Transformar/Cargar". Estas herramientas toman datos de una fuente y la mueven a otra. Puede asignar esquemas desde el origen al destino de maneras únicas, transformar y limpiar datos antes de que se muevan al destino y cargar el destino de una manera eficiente. Puede programar trabajos de ETL como procesos por lotes.

Esas fuentes de datos pueden ser bases de datos relacionales, hojas de cálculo, archivos XML, etc.


Quién "usos" ellos? Depende de lo que quiere decir con "usos". Son solo código y la mayoría de las veces, están programados como parte de las operaciones regulares. No hay características para el usuario final. Son totalmente para que los programadores creen y operen operaciones.

¿Ventajas sobre los scripts? Ninguna. Son guiones escritos en un lenguaje específico de dominio (DSL) enfocado completamente en "extraer" de la fuente, "transformar" y "cargar" al destino. La mayor parte de la parte interesante del guión son las asignaciones campo por campo en cada etapa.

+0

@duffymo: Solo tuve que saltar y agregar una excelente base. –

+0

@ S.Lott: Me siento halagado de que alguien como usted piense que todo lo que escribí fue "excelente". Gracias por la mejora y la educación continua. He estado leyendo tu blog, bastante impresionante. Si alguna vez pudiera escalar la curva de aprendizaje de Python lo suficientemente rápido, me encantaría trabajar con alguien como tú. – duffymo

2

ETL se usa comúnmente en aplicaciones de almacenamiento de datos.

Por ejemplo, es posible que tenga un sistema de procesamiento de pedidos Oracle o Sql Server. Esto podría mantener todos los datos hasta que se envíe la orden, pero no le gustaría que años de pedidos viejos obstruyan el sistema.

Además, es posible que tenga varios sistemas como este en su empresa, todos desarrollados independientemente el uno del otro.

Por lo tanto, la consolidación de los datos históricos, es posible configurar un almacén de datos donde los datos de todos estos sistemas dispares terminan, lo que le permite un buen lugar para hacer informes, la planificación, la minería de datos, etc.

Dado que todas las fuentes de datos son diferentes, y los tipos de datos que desea almacenar a largo plazo pueden diferir de los datos que tiene en las bases de datos más pequeñas, configura un sistema ETL para convertir y administrar el flujo de datos.

4

ETL es simplemente obtener datos, hacer algo al respecto, pegar los datos en algún lugar.

  1. Extracción - obtener los datos de algún lugar (el lugar se llama la Fuente). El origen puede ser archivos, tablas de bases de datos, un conducto, etc.

  2. Transformación: haga algo con los datos de origen. P.ej. su fuente contiene persona y fecha de nacimiento, por lo que puede "transformar" los datos para determinar la edad de la persona.

  3. Carga: tome los datos transformados y colóquelos en algún lugar, como una base de datos diferente o la misma base de datos. Esto se llama el objetivo. Casi cualquier tipo de almacén de datos que pueda ser una fuente también se puede usar como un objetivo.


Algunos ejemplos:

  1. extraer datos de un almacén de datos en DB2. Transforme los datos usando un filtro para enviar solo datos que coincidan con un cierto rango de fechas. Cargue los datos filtrados en un data mart de SQL Server.

  2. Extraiga datos de archivos XML. Transforme los datos para que los datos se "aplanen" en filas. Cargue los datos en un archivo delimitado por comas.

  3. Extraiga los datos que ingresan en un conducto o una cola, como IBM MQ. Transforme los datos analizando los campos clave en el mensaje en cola. Cargue los datos analizados en un mainframe.


Algunas herramientas:

  1. grandes cantidades de dinero, de clase empresarial: ab initio, Informatica, Datastage de IBM

  2. menos caro: Jitterbit, Talend

  3. En alguna parte en el medio: SSIS para SQL Server


¿Quién lo usa? Principalmente las empresas que necesitan construir y mantener data warehouses complejos invertirán en una herramienta de ETL. Las herramientas ETL a menudo son herramientas de diseño visual que le permiten construir un programa ETL visualmente, en lugar de usar solo técnicas programáticas.

Cuestiones relacionadas