hadoop - spark - hdinsight wikipedia
Cómo mejorar el rendimiento de cargar datos de la tabla NON Partition en la tabla de particiones ORC en HIVE (2)
Ante todo. HIVE no está diseñado para el procesamiento de datos en tiempo real. No importa cuán pequeños sean los datos, la consulta tardará un tiempo en devolver los datos.
El poder real de la colmena radica en el procesamiento por lotes de gran cantidad de datos.
Soy nuevo en Hive Querying, estoy buscando las mejores prácticas para recuperar datos de la tabla Hive. hemos habilitado TeZ tiene motor de ejecución y vectorización habilitada.
Queremos hacer informes de la tabla de Hive, leí en el documento de TEZ que puede usarse para informes en tiempo real. El escenario es de mi aplicación WEB, me gustaría mostrar el resultado de Hive Query Select * de la tabla Hive en UI, pero para cualquier consulta, en el prompt del comando de hive toma un mínimo de 20-60 segundos aunque la tabla de colmena tenga 60 GB de datos,.
1) ¿Alguien puede decirme cómo mostrar los informes en tiempo real al consultar la tabla Hive y mostrar los resultados inmediatamente en la interfaz de usuario en 10-30 segundos?
2) Otro problema que hemos identificado es: Inicialmente tenemos una tabla sin particiones apuntando a una Blob / Archivo en HDFS, es de tamaño 60 GB con 200 columnas, cuando volcamos los datos de la tabla Un-Partitioned a la tabla ORC (ORC tabla está particionada), tarda 3 horas, ¿hay alguna manera de mejorar el rendimiento en el vertido de datos en la tabla ORC?
3) Cuando consultamos en la tabla Non Partition con bucketing, insertando en la tabla de colmenas y consultando tomando menos tiempo que select query en la tabla ORC, pero aumenta el número de registros en la tabla de colmenas la consulta SELECT de tabla ORC es mejor que la tabla con cubetas. ¿Hay alguna manera de mejorar el rendimiento para pequeños conjuntos de datos también? Como es la fase inicial, todos los meses cargamos datos de 50 GB en la tabla Hive. pero puede aumentar, buscamos mejorar el rendimiento de la carga de datos en la tabla particionada Orc.
4) TEZ admite soporte interactivo, menos latencia y desglose para informes. Cómo habilitar mis informes detallados para obtener datos de Hive (que debe ser interactivo) dentro del tiempo de respuesta humana, es decir, 5-40 segundos.
estamos probando con 4 nodos cada nodo tiene 4 núcleos de CPU y 7 GB de RAM y 3 discos conectados a cada máquina virtual.
Gracias, Mahender
Para mejorar la velocidad de inserción de datos en la tabla ORC, puede intentar jugar con los siguientes parámetros :
hive.exec.orc.memory.pool
hive.exec.orc.default.stripe.size
hive.exec.orc.default.block.size
hive.exec.orc.default.buffer.size
dfs.blocksize
Además, es posible que vea si la compresión también podría ayudarlo. Por ejemplo:
SET mapreduce.output.fileoutputformat.compress.codec = org.apache.hadoop.io.compress.SnappyCodec;
SET hive.exec.compress.intermediate = true;
¡Espero eso ayude!