2012-02-23 8 views
7

Estoy investigando herramientas ETL para importar archivos planos en una base de datos y exportar posteriormente archivos xml.¿Hay alguna herramienta de ETL que se integre con los modelos de Rails?

Muchas de las herramientas admiten generar código para usar en su aplicación; sin embargo, no he encontrado ninguno que soporte el uso de código ya en su aplicación. Nuestro modelo es complejo (relaciones, validaciones, asociaciones polimórficas, devoluciones de llamadas, etc.).

¿Qué herramientas están disponibles que permitirán la reutilización del código existente? ¿O estoy atascado recreando (y manteniendo) mi modelo en la herramienta ETL?

Nota: Mis requisitos para un ETL (a diferencia de inserciones masivas o activerecord-import) son las transformaciones. Recibimos datos de más de 200 fuentes diferentes en una variedad de formatos, nivel de integridad y limpieza. Además, el "diseñador" más incluido es más realista para los usuarios menos técnicos que definirán las transformaciones.

+0

¿Dónde está la lógica de transformación? ¿Dónde * quieres * que sea? –

+0

Depende. Ya tenemos un grupo integrado en la aplicación, pero hay otros que deben hacerse por fuente. Estamos hablando de datos automotrices ... Nuestra aplicación sabe que 99-01, 1999-01, 1999-2001 son todos lo mismo, y que HND, HNDA, HONDA y HONDA/ACURA son todos lo mismo. Estos son la punta del iceberg. Cada una de nuestras fuentes tiene un formato diferente. Uno puede combinar años como 99-01 y otro los pone en columnas diferentes. Algunos pondrán varias marcas (HONDA, BMW) en una fila, otros usarán 2. De nuevo, la punta del iceberg, pero eso es lo que la herramienta ETL debería manejar. –

Respuesta

6

ActiveWarehouse puede ser útil. Los resultados de búsqueda iniciales hacen que el proyecto se sienta un poco viejo y difunto. Un poco de excavación produjo una rama del proyecto bastante activa y bien documentada en GitHub: https://github.com/activewarehouse/activewarehouse-etl

+0

También [acaba de pasar 1.0] (http://www.rubyflow.com/items/7311-activewarehouse-ruby-etl-v1-0-0-rc1-is-out). Encontré esto hace un tiempo, es bueno ver que todavía está vivo. Voy a echar un vistazo más de cerca. –

+0

Este proyecto ha sido reemplazado por [Kiba] (https://github.com/thbar/kiba) ahora –

0

Modularize, desea que la aplicación Rails y ETL pregunten sobre el significado de 'HND' desde el mismo lugar. Configura una API para eso.

3

Escribe la tuya. ETL es un proceso muy simple, ruby ​​proporciona suficiente soporte de reflexión para manejar esto con un código simple. Las herramientas de ETL no son realmente útiles aquí, solo generan archivos dotty para mostrar las fuentes de datos, los flujos y las transformaciones.

He hecho lo mismo en smalltalk para una conversión de datos. Ahí utilicé glamour y mondrian de la suite de herramientas de reingeniería MOOSE para proporcionar más visibilidad.

Cuestiones relacionadas