es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Insertar los registros más recientes eficientemente en Hive.

Tengo alrededor de 90 tablas en Hive, de las cuales 10 se combinan mediante el uso de “union all” en 9 tablas maestras.

Estas 90 tablas base se actualizan con nuevas filas cada 15 minutos. Necesitamos actualizar las filas insertadas recientemente en las tablas maestras cada 15 minutos.

Verificar el ID con “not in” consume tiempo.

También tengo una columna de marcas de tiempo, lo que lleva tiempo obtener datos basados en eso.

¿Existe una forma eficiente de lograr esto? “Insertar registros recién agregados en las tablas base en la tabla maestra cada 15 minutos”.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en Hive y HQL, sugeriría utilizar actualizaciones incrementales en lugar de consultar las 90 tablas base cada 15 minutos. Esto no solo ahorraría tiempo sino que también reduciría la carga computacional en el sistema.

    Una forma de lograr esto es agregando una columna de marca de tiempo a las tablas base y creando una tabla separada para realizar un seguimiento de las actualizaciones. Cada vez que se agregan nuevas filas a las tablas base, se actualiza la columna de marca de tiempo y se registra la entrada correspondiente en la tabla de seguimiento.

    Para las tablas maestras, se puede crear una vista que combine las tablas base con la tabla de seguimiento para actualizar solo las nuevas filas. Esta vista puede ser consultada cada 15 minutos para obtener los datos recién agregados en las tablas maestras.

    Este enfoque eliminaría el uso de “no en” y reduciría el tiempo necesario para realizar consultas basadas en marcas de tiempo. También aseguraría que solo se apliquen las actualizaciones incrementales a las tablas maestras, en lugar de consultar todo el conjunto de datos cada vez.

Comments are closed.