Saltar al contenido

¿Cómo proporciona Impala una respuesta de consulta más rápida en comparación con Hive?

Después de de nuestra extensa compilación de información solucionamos este atasco que presentan ciertos los usuarios. Te brindamos la solución y nuestro deseo es servirte de gran apoyo.

Debería ver Impala como “SQL en HDFS”, mientras que Hive es más “SQL en Hadoop”.

En otras palabras, Impala ni siquiera usa Hadoop. Simplemente tiene demonios ejecutándose en todos sus nodos que almacenan en caché algunos de los datos que están en HDFS, de modo que estos demonios pueden devolver datos rápidamente sin tener que pasar por un trabajo completo de asignación/reducción.

La razón de esto es que hay una cierta sobrecarga involucrada en la ejecución de un trabajo Map/Reduce, por lo que al cortocircuitar Map/Reduce por completo, puede obtener una ganancia bastante grande en el tiempo de ejecución.

Dicho esto, Impala no reemplaza a Hive, es bueno para casos de uso muy diferentes. Impala no proporciona tolerancia a fallas en comparación con Hive, por lo que si hay un problema durante su consulta, desaparece. Definitivamente, para trabajos de tipo ETL en los que la falla de un trabajo sería costoso, recomendaría Hive, pero Impala puede ser increíble para pequeñas consultas ad-hoc, por ejemplo, para científicos de datos o analistas de negocios que solo quieren echar un vistazo y analizar algunos datos. sin construir puestos de trabajo robustos. También desde mi experiencia personal, Impala aún no está muy maduro, y he visto algunas fallas a veces cuando la cantidad de datos es mayor que la memoria disponible.

En mi humilde opinión, SQL en HDFS y SQL en Hadoop son lo mismo. Después de todo, Hadoop es HDFS (y también MapReduce). Entonces, cuando decimos SQL en HDFS, se entiende que es SQL en Hadoop (podría ser con o sin MapReduce).

Volviendo a la pregunta real, Impala proporciona una respuesta más rápida ya que utiliza MPP(procesamiento masivo en paralelo) a diferencia de Hive, que usa MapReduce debajo del capó, lo que implica algunos gastos generales iniciales (como ha especificado Charles señor). El procesamiento masivo en paralelo es un tipo de computación que utiliza muchas CPU separadas que se ejecutan en paralelo para ejecutar un solo programa donde cada CPU tiene su propia memoria dedicada. El mismo hecho de que Impala, al estar basado en MPP, no implica los gastos generales de un trabajo de MapReduce verbigracia. la configuración y creación de trabajos, la asignación de ranuras, la creación de divisiones, la generación de mapas, etc., lo hace increíblemente rápido.

Pero eso no significa que Impala sea la solución a todos tus problemas. Al ser muy intensivo en memoria (MPP), no es una buena opción para tareas que requieren operaciones de datos pesados ​​como uniones, etc., ya que simplemente no puede caber todo en la memoria. Aquí es donde Hive encaja mejor.

Por lo tanto, si necesita consultas ad-hoc en tiempo real sobre un subconjunto de sus datos, opte por Impala. Y si tiene necesidades de procesamiento por lotes sobre su Big Data, elija Hive.

HTH

Hay algunos key características en impala que hace que sea rápido.

  1. No utiliza map/reduce, que son muy costosos de bifurcar en jvms separados. Ejecuta Impala Daemon separado que divide la consulta y las ejecuta en paralelo y fusiona el conjunto de resultados al final.

  2. Hace la mayor parte de su operación en memoria.

  3. Utiliza hdfs para su almacenamiento, que es rápido para archivos grandes. Almacena en caché tanto como sea posible, desde consultas hasta resultados y datos.

  4. Admite nuevos formatos de archivo como parquet, que es un formato de archivo en columnas. Entonces, si usa este formato, será más rápido para las consultas en las que accede solo a unas pocas columnas la mayor parte del tiempo.

Sección de Reseñas y Valoraciones

Recuerda algo, que te concedemos esclarecer tu experiencia si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *