Pregunta

Tengo familiaridad con software automatizado herramientas de construcción (tales como automatizado Construir Estudio). Ahora estoy mirando herramientas ETL.

Lo único que pasa por la cabeza es que, puedo hacer cualquier cosa que pueda hacer en herramientas ETL mediante el uso de una herramienta de software de generación. herramientas ETL están adaptados para la carga y manipulación de datos para los que se necesita una gran cantidad de secuencias de comandos con el fin de hacer el trabajo. herramienta de construcción de software, por otro lado, es lo suficientemente versátil como para hacer cualquier trabajo, incluyendo escribir guiones para extraer, transformar y cargar datos desde cualquier formato a cualquier formato.

Estoy en lo cierto?

¿Fue útil?

Solución

Es cierto que se puede rodar fuera de sus propios guiones escritos ETL usando una herramienta de desarrollo de su preferencia. Una vez dicho esto, los trabajos de ETL son con frecuencia grandes (por falta de una mejor palabra) y exigen la administración y la atención considerable a los detalles minuciosos (como la programación). herramientas ETL permiten desarrollador se concentre en tareas de ETL - en contraposición a la escritura y depuración de código, aunque eso es parte de ella también. Hay algunas herramientas de código abierto por ahí, para que pueda hacerse una idea de lo que hace una herramienta promedio, antes de saltar en el desarrollo personalizado. Por ejemplo, las herramientas más caras proporcionan linaje de los datos, lo que significa que puede (gráficamente) el seguimiento de cada campo en un informe de vuelta a la mesa de origen a través de todas las transformaciones (versiones incluidas); después de una fusión corporativa que es una tarea que debe hacer.
Por ejemplo Pentaho tiene edición de la comunidad ; si usted tiene MS SQL Server, puede obtener SSIS. También ver si se puede encontrar algo aquí .

Otros consejos

El beneficio de una herramienta ETL se maximiza si tiene muchos procesos para construir (me gusta aboves colocar la analogía de jsf80238 con martillando clavos en 100). Un beneficio clave de herramientas ETL reales son los metadatos que generan y apoyo operativo. Escribir secuencias de comandos en Perl / Ruby / etc es bastante fácil, pero se rompe cuando los problemas necesitan ser rastreado o alguien que no sea el autor tiene que averiguar cuál es la capacidad wrong.The para el personal de administración / apoyo para ver rápidamente lo que salió mal es lo que vale la pena pagar dinero para. He utilizado SSIS de Microsoft (2005 - OK) y la última Pentaho PDI (bastante bueno). El ETL Pentaho interfaz gráfica de usuario es utilizado por los usuarios de negocios (sin soporte de TI para el 99% de las veces) en mi lugar de trabajo, y ha sustituido una maraña de secuencias de comandos SQL y hojas de cálculo. Di lo que quieras sobre el resto de la pila de Pentaho, pero el componente ETL es, en mi opinión, una excelente "bang para buck".

Todo el asunto de ETL se basa en la premisa de que la fuente de los datos es incompatible con la fuente de datos de destino. Y muchas veces, las personas que vierten los datos de origen pueden no estar pensando que estos datos deben ser recogidos y agregados. Es por esto que todo el asunto de ETL está en inexistente.

Una herramienta ETL comercial no va a leer mágicamente la entrada de la fuente y transformar datos de acuerdo con las reglas de la base de datos de destino. Reglas tienen que ser definidos y se introduce en la herramienta de ETL. Curiosamente, muchas empresas ofrecen formación !!! sobre la forma de utilizar su propio lenguaje de script. Lo que no siempre es tan fácil. Pero para los no programadores, tal vez esta es la ruta preferida.

En lo personal, creo que siempre es más fácil escribir una herramienta ETL propietaria en un lenguaje como Perl. Basta con escribir un algoritmo de estado-máquina para extraer a través de los datos de origen y convertirlo en el formato deseado. Yo uso Perl a FTP en máquinas, leer en los archivos, transformar los datos, y luego cargarlo en la base de datos. Esto siempre es una solución superior y mucho más rápido si uno es competente en Perl o similares, o puede contratar a alguien que sabe Perl.

Y un último punto, comenzar con el fin en mente. Volcado de los datos de origen en un formato estructurado para ayudar a cabo el grupo de análisis en su empresa que desee agregar y estudiar el. Esto hará que el programa ETL más fácil y más rápido para desarrollar.

Me gusta la respuesta de Damir Sudarevic y quería añadir que la elección de herramienta también puede depender de la cantidad de trabajo que tiene en frente de usted. Si usted tiene la tarea de ETL ocasional y ya está familiarizado con una herramienta que le permitirá realizar esa tarea, utilice la herramienta que ya conoce (este enfoque asigna un valor de cero a aprender una nueva herramienta, que quizá está infravalorando nuevos conocimientos). Si usted tiene una gran cantidad de tareas de ETL, la inversión inicial de aprender una nueva herramienta podría muy bien valdrá la pena. Se puede utilizar pinzas para clavar un clavo, y si usted tiene sólo un clavo puede utilizar las pinzas. Si usted tiene que conducir 100 clavos conseguirse un martillo.

También se puede hacer cualquier cosa herramientas ETL pueden hacer con el código. :-)

Las dos categorías de herramientas que mencionas se puede utilizar para resolver este problema, pero que están optimizados para la clase de problemas que están tratando de resolver:

  • ETL tienden a venir con una biblioteca de herramientas de manipulación de datos (cálculo relacional, en la línea de cálculos, etc.), están optimizados para manejar grandes cantidades de datos, y tienen características de administración de trabajos (importante si esto no es una sola de una sola vez la migración de datos).
  • Construir herramientas (para mí, Hormiga viene a la mente como un ejemplo prototípico) podría realizar tareas similares, pero se centran en la recopilación, organización y manipulación de archivos, y el embalaje.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top