5 votos

Optimización de flujo de trabajo de datos ETL

Tengo un legado de flujo de trabajo que me gustaría optimizar y automatizar (al menos parcialmente). El flujo de trabajo actual va como esta. Puedo recibir un de MS Access .archivo mdb que contiene una sola tabla. Esta tabla se carga en un Acceso existentes db que contenía algunas macros ,que voy a hacer referencia más adelante, y cambiado el nombre de BTMUA. A la mesa BTMUA varios campos se introducen manualmente en el centro de la mesa. Además de dos campos de tipos de datos han cambiado de texto a fecha de reflejar con mayor precisión los datos que contienen. Una vez que estos cambios se han completado una serie de consultas, a través de dos macros se ejecutan para analizar, recortar, y concatenar los datos de los campos originales en los nuevos campos. Específicamente Campo id se analiza en los campos A1 A2 utilizando una a la izquierda y a la derecha de las funciones, de igual forma el campo B se analiza en el campo B1 y B2. Cualquiera de espacios en blanco se quitan de campos A1, A2, B1, y B2 campos se eliminarán. Por último campos A1, A2, B1, B2, y C, son concatenados en uno de los 7 diferentes maneras dependiendo de los campos que contienen los datos. Aquí termina la modificación de datos y el uso de Acceso.

Luego uso FME Desktop cargar estos datos en una tabla existente en mi MS Sql base de SDE GDB (después de la primera truncar la tabla).

Me gustaría rediseñar el flujo de trabajo y eliminar el Acceso de la ecuación, aunque no puedo cambiar el hecho de que los datos se originan en una .archivo mdb. También me gustaría automatizar el proceso tanto como sea posible por lo que se pueden ejecutar con un par de clics del ratón o en un horario fijo.

Básicamente estoy tratando de averiguar si es mejor el uso de la OMF para cargar los datos de la .mdb en mi GDB y utilizar ArcCatalog y Modelo del Generador o MS SQL Server management Studio un T-SQL para transformar los datos. O es más eficiente utilizar FME Desktop para ver los datos de trans formaciones.

5voto

MobileCushion Puntos 217

Si usted está utilizando la OMF para hacer la carga de datos, creo que se puede utilizar para leer la tabla original y hacer la fase de transformación. Entonces, todo en un solo proceso. Si usted hace el trabajo en el banco de trabajo, a continuación, hay transformadores para el análisis, el recorte y la concatenación.

No quiero decir que esta es la mejor manera, o comparar a la de los demás, porque yo actualmente trabajo para la seguridad de Software (creadores de FME) y creo que eso no sería ético. Sin embargo, creo que sería una mejora definitiva en el proceso actual, y muy sencillo de configurar.

5voto

Jginger Puntos 131

Yo soy de ninguna manera un experto en este tipo de cosas y no estoy del todo familiarizado con FME Desktop, pero si yo estuviera en tus zapatos, me gustaría puente de las dos bases de datos con un script que extrae los datos a través de ODBC, completa todas las modificaciones en la secuencia de comandos y, a continuación, empuja los resultados a tu Servidor SQL DB (de nuevo a través de ODBC).

Me gustaría escribir que la secuencia de comandos en R, porque es lo que conozco y de los tipos de datos de limpieza que usted describe son triviales, pero probablemente podría hacer que en apenas alrededor de cualquier cosa con un decente ODBC de la biblioteca de Python podría ser más aceptable para la organización. La programación que se ejecute luego sería trivial.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X