Ciencia de datos: ¿Cuál es el mejor método para comparar dos bases de datos, una en Hortonworks y la otra en Teradata?

Entiendo que tiene una actualización diaria de una vía de su base de datos de Hortonworks con transacciones de una base de datos de Teradata. En el transcurso de un mes, ambas bases de datos habrán crecido en tamaño, pero solo la base de datos de Teradata habrá recibido actualizaciones adicionales que no aparecen en la base de datos de Hortonworks. Luego, desea calcular el delta entre las dos bases de datos para aislar solo los cambios que se han producido y tomar la decisión de actualizar su base de datos de Hortonworks con estos cambios.

Si esta comprensión es correcta, puede calcular un delta entre tablas en ambas bases de datos de la siguiente manera.

  1. La base de datos de Teradata deberá importarse en un formulario que pueda compararse con la base de datos de Hortonworks. Esto se puede hacer importando de Teradata a Hive.
  2. Use Hive para generar una diferencia entre dos tablas (la tabla importada y una de Hortonworks) y exportarla nuevamente a Teradata para su revisión.
  3. Después de tomar una decisión, los resultados seleccionados se pueden exportar a Hortonworks utilizando el mismo método que usaría para actualizar esa base de datos con nueva información.

A continuación se detallan los pasos 1 y 2 con más detalle.

1) Este enlace de Hortonworks (Enriquecimiento de datos de ida y vuelta entre Teradata y Hadoop – Hortonworks) contiene ilustraciones y código para un método automatizado para hacer mucho de lo que queremos. Solo tendrá que hacer hasta el Paso 3 en estas instrucciones, y en este paso, solo hasta el elemento 2 en el flujo de trabajo. Esto llevará a cabo los siguientes pasos:

  1. Colmena: cree la tabla de Colmena de destino que aceptará la importación desde Teradata (create_hive_target)
  2. Sqoop: realice la importación de Teradata a Hive (td_to_hive)

2) Vea esta página en StackOverflow (Compare dos tablas en HIVE) para saber cómo generar una tabla con campos poblados con cualquier diferencia existente (no se colocará contenido en campos que sean iguales). El código relevante se reproduce a continuación:

ct = tabla de control con datos conocidos, nt = nueva tabla con datos para verificar, cx = número de columna

SELECCIONE nt.c1,
CASO CUANDO ct.c2 nt.c2 LUEGO ‘-‘ ELSE nt.c2 END,
CASO CUANDO ct.c3 nt.c2 LUEGO ‘-‘ ELSE nt.c3 END
DESDE
New_table nt
ÚNETE Control_table ct ON nt.c1 = ct.c1
DÓNDE
ct.c2 nt.c2 O ct.c3 nt.c3

Guarde esto como un script SQL y luego consulte el elemento 3 en el flujo de trabajo del Paso 3 (populate_hive_results). Usando el script SQL recién guardado, siga las instrucciones en esta sección para exportar la tabla de diferencias a Teradata para su revisión.

El grupo más apropiado para configurar este flujo de trabajo sería Ingeniería de datos, ya que sabrán qué ajustes deben hacerse a estas instrucciones para acomodar su proceso real. La calidad de los datos sería más adecuada para revisar la tabla de diferencias e informar qué cambios deberían aceptarse. También puede decidir que sus científicos de datos echen un vistazo a la tabla de diferencias también. Pueden tener ideas sobre qué cambios afectarían más sus análisis y cuáles son intrascendentes.

More Interesting

¿Qué herramientas existen para resumir documentos muy especializados (por ejemplo, documentos legales o médicos)? ¿Cuál es la diferencia entre estas herramientas y las genéricas?

Al usar una muestra para análisis estadístico, ¿cómo puedo asegurarme de que sea suficiente?

Me gustaría escribir / usar un algoritmo de aprendizaje automático para predecir valores de contaminación del aire basados ​​en datos meteorológicos. Tengo algunas habilidades de programación y sé qué datos me gustaría usar, pero no tengo experiencia con el aprendizaje automático. ¿Dónde empiezo?

¿Qué empresas están haciendo aprendizaje automático real en lugar de ciencia de datos hacky?

¿Cuáles son algunos libros que debe tener un científico de datos?

Soy un desarrollador de aviónica. No tengo mucho conocimiento sobre qué es la ciencia de datos y la minería. ¿Cómo es esto diferente de big data? ¿Cómo está ayudando esto para la seguridad de la aviación y el MRO de las aeronaves?

¿Cuál es una forma divertida de aprender programación R?

¿Quién proporciona la mejor certificación de ciencia de datos que puedo llevar junto con mi trabajo?

Para convertirse en un científico de datos, ¿en qué campos son los más útiles?

¿Qué es Big Data y por qué la gente lo aprende?

¿Cuáles son algunas necesidades de análisis de datos insatisfechos o de abastecimiento público relacionadas con el problema del cambio climático?

¿Es SPSS una herramienta de minería de datos más apropiada que Weka?

¿Cuál es el mejor sitio para aprender análisis de datos?

¿Por qué el bosque aleatorio (scikit-learn) usa tanta memoria? ¿Existen otras implementaciones además de scikit-learn que son más eficientes en memoria?

¿Cuál es el mejor marco de Python para el procesamiento en paralelo (procesamiento SMP y de clúster)?