Consultas en tiempo real sobre Hadoop con Cloudera Impala

 

ImpalaSe puede decir a partir de ahora que el entorno Hadoop ya no es sólo para procesamiento en lotes (batch) de grandes masas de datos. Cloudera acaba de presentar un proyecto open source con el que se logrará realizar consultas o queries de datos Hadoop y en tiempo real.

Cloudera es una firma especializada en Big Data. Hace aproximadamente seis meses anunció su proyecto open source Impala, cuyo objetivo es el de contar con un motor de consulta en tiempo real capaz de operar sobre Hadoop y su Big Data.

Esta semana, la misma firma informa al mercado que Impala ya está disponible para ser desplegado en las organizaciones usuarias.

“Impala es un motor de consulta para bases de datos paralelas que corre nativamente sobre la plataforma Hadoop. Funciona de modo nativo en almacenamiento Hadoop, con su mismo esquema de Hive Metastore y sus formatos de archivos,” nos dice Chalres Zedlewski, VP a cargo de productos en Cloudera.

Apache Hive es un software de warehousing de datos que facilita el funcionamiento de las consultas (queries) y la administración de grandes conjuntos de datos que residen en almacenamientos distribuidos. Fue creado en base a Apache Hadoop y ofrece herramientas para ETL (Extrac/Transform/Load); mecanismos para imponer estructuras a una variedad de formatos de datos; acceso a archivos almacenados en Apache HDFS o en otros sistemas de almacenamiento como Apache HBase y una veloz ejecución de consultas utilizando MapReduce. Volviendo a Hive Metastore, tenemos que almacena  todos los metadatos necesarios para tablas y particiones.

El ejecutivo de Cloudera aclaró que Impala puede ser implementado en un cluster Hadoop ya existente sin que sea necesario realizar alguna clase de cambio de su arquitectura. En ese sentido, Impala puede ser utilizado como un recurso superpuesto a conjuntos de datos ya creados.

“Es tecnología SQL y la primer palabra que compone esta sigla es Structured y por esa razón no esperamos que Impala sea utilizado, por ejemplo, con un conjunto de archivos de video,” prosigue Zedlewski. “Pero Impala, sin embargo, no requiere que se masajeen los datos ya estructurados de una forma especial.”

El proyecto Impala se inició como un proyecto open source bajo el modelo de licenciamiento Apache y ahora que está en marcha, continúa siéndolo. Lo que ha hecho Cloudera es incorporar como oferta una versión comercial a la que ha denominado RTQ y que cuenta con interfaces adicionales de monitoreo y administración.

RTQ es la versión por la que están dispuestos a pagar los clientes que requieren soporte, lo que no quita que cualquier organización pueda utilizar Impala en su versión open source sin cargo. Fundamentalmente, lo que agrega RTQ es automatización de la administración del entorno.

El caso de uso más frecuente en la primer etapa de la vida de Hadoop y en sus implementaciones más tempranas tuvo que ver con procesamiento batch. Eso es particularmente debido a la latencia que agrega la tecnología MapReduce Hadoop.

Como señala Zedlewski, “hay mucha gente que quiere respuestas en menos de cinco minutos para grandes cargas de datos. Impala se ajusta especialmente a esa clase de situaciones.”

La velocidad que brinda Impala también permite ejecutar cargas interactivas de BI (Business Intelligence) sobre Hadoop Big Data.

La tecnología de procesamiento In Memory

Toda vez que se desee contar con velocidad de respuesta para las consultas en Big Data, aparece la importancia de contar con la capacidad de poder ejecutar analíticos y su funcionalidad in-memory. Impala tiene esa capacidad de ejecutar una cantidad de los pasos necesarios en modalidad in-memory. Zedlewski explicó que toda la actividad de joint de queries es distribuida in-memory, lo cual representa a una de las fuentes en las que Impala basa su elevada performance. Además, aclara que Impala utiliza también parte del caché existente o que reside en un cluster Hadoop.

Ahora que Impala está disponible en el mercado, el proyecto seguirá evolucionando aunque no necesariamente en la misma forma en que evoluciona el propio Hadoop.

El proyecto Apache Hadoop incluye a más de 13 diferentes proyectos, cada uno de ellos con diferentes tiempos de liberación. La distribución open source Cloudera para Hadoop (CDH)se convierte en una posibilidad para contar con releases de Hadoop en una base regular.

Dada la velocidad con la que avanzó Impala, la gente de Cloudera planea realizar actualizaciones adicionales de Impala en forma independiente a los releases. De esa forma, el producto tendrá un desarrollo mucho más veloz sin afectar a ese ritmo de emisión de nuevas versiones (releases). De hecho, cada release de Impala incluye en su núcleo a uno de Hadoop y como se trata de una plataforma que se utiliza para datos que son muy importantes para muchas organizaciones, se plantea la conveniencia de ciclos de versión un poco más lentos.