En una nota anterior nos enfocamos sobre Cloudera Enterprise, una plataforma moderna optimizada para la nube, basada en el aprendizaje automático y el análisis de datos. Explicamos sus características principales y cuáles son sus soluciones. En esta nota presentaremos lo nuevo de Cloudera Enterprise 6.0: Apache Hive 2.1.
Para quién está apuntado
Debido a que Hive es un sistema de almacenamiento de datos a escala de petabytes construido en la plataforma Hadoop, es una buena opción para entornos que experimentan un crecimiento espectacular en el volumen de datos. Hive proporciona una interfaz SQL, lo que hace posible utilizar las habilidades de programación existentes para preparar los datos.
Calidad y estabilidad, los dos aspectos destacables
Antes del lanzamiento de Cloudera Enterprise 6.0, la plataforma compatible de Cloudera ya incluía Apache Hive 1.1. A medida que Hive fue convirtiéndose en el pilar que sostiene la infraestructura de datos, los clientes han destacado la calidad y la estabilidad como los aspectos más importantes.
Cloudera cambió a una versión estable en Enterprise 6.0 (Apache Hive 2.1) y luego incluirá otras características relevantes, mejoras y correcciones.
Mejoras de usabilidad
Además de la estabilidad y la calidad, Cloudera se centró en aumentar la facilidad de uso de la plataforma. Con ese fin, incluyeron numerosas mejoras de SQL en Enterprise 6.0 que hacen que los usuarios finales transformen y procesen los datos utilizando Hive de forma más fácil y rápida. En la versión Enterprise 6.0 podemos encontrar soporte para UNION DISTINCT, mejoras en las funciones de ventanas y la adición de funciones de agrupación.
Cloudera considera que la capacidad para resolver problemas de manera eficiente con las cargas de trabajo de Hive es una dimensión importante de la usabilidad. Es por eso que respalda el uso del análisis de autoservicio, y los clientes lo adoptan constantemente para permitir que los usuarios lo utilicen con el soporte mínimo del departamento de IT.
Las mejoras permiten que tanto los usuarios finales como los administradores identifiquen los problemas a medida que ocurren y Cloudera les brinda información para que puedan decidir el mejor curso de acción. Específicamente, Cloudera introdujo mejoras para la depuración, como el ID de sesión, el ID de consulta y el ID de DAG (“Gráfico Acíclico Directo”, que permite al usuario hacer clic en una etapa y ampliar los detalles dentro de la misma) en la interfaz de usuario de Spark, el registro mejorado y agregó más métricas.
Los clientes también utilizan las API de Hive para crear aplicaciones. Anteriormente no había mucha claridad con respecto a cuáles APIs eran internas y sujetas a cambios y cuáles APIs eran estables y estaban disponibles para consumo público. Ahora, Cloudera está liderando un esfuerzo comunitario para estandarizar las APIs públicas. Los desarrolladores que usan estas APIs pueden utilizarlas con mayor confianza.
Ganancias en eficiencia
Cloudera también se está enfocando en la eficiencia a través de su plataforma. Si bien la eficiencia de la plataforma local ayuda a administrar los costos a largo plazo, los beneficios inmediatos de las implementaciones en la nube se logran al reducir el costo total de propiedad (TCO, es un método de cálculo diseñado para ayudar a los usuarios y a los gestores empresariales a determinar los costes directos e indirectos, así como los beneficios, relacionados con un producto o sistema).
En Enterprise 6.0 Cloudera está asociado con Intel para obtener mayores ganancias de eficiencia en Hive y ambos presentaron una mejora importante de rendimiento y eficiencia llamada “Parquet Vectorization”. Esta característica permite que el motor HoS procese un vector de columnas en lugar de una fila a la vez agrupando las filas de datos en vectores de columna. Esto conduce a una mejor utilización de las memorias caché de la CPU.
Además, Cloudera incluyó muchas otras mejoras de rendimiento. Por ejemplo, Hive a menudo escanea una tabla determinada varias veces durante las uniones automáticas o las sub-consultas compartidas. Con todas estas mejoras en Enterprise 6.0, Hive puede ser hasta 2,2 veces más rápido que Hive en la última versión de Enterprise 5.x.
Los componentes de HIVE
1. La base de datos Metastore: es una base de datos independiente, que se basa en un RDBMS (“Sistema de gestión de bases de datos relacionales”) tradicional como MySQL o PostgreSQL, que contiene metadatos sobre las bases de datos, tablas, columnas, particiones de Hive e información específica de Hadoop.
Esta base de datos es compartida por otros componentes. Por ejemplo, tanto Hive como Impala pueden insertar, consultar y modificar las mismas tablas. La copia de seguridad, la replicación y otros tipos de operaciones de administración afectan a esta base de datos.
2. HiveServer2: es una interfaz de servidor que permite a los clientes remotos enviar consultas a Hive y recuperar los resultados. Admite la concurrencia de varios clientes y controles de planificación de capacidad.
HiveServer2 es un contenedor para el motor de ejecución de Hive. Para cada conexión de cliente, crea un nuevo contexto de ejecución que atiende las solicitudes Hive SQL del cliente.
Para tener en cuenta
Si bien Cloudera hizo todo lo posible para mantener la compatibilidad con versiones anteriores, los usuarios encontrarán algunas incompatibilidades con versiones anteriores en Enterprise 6.0. Por ejemplo, la semántica cambiada de UNION, mientras que otras incompatibilidades se introdujeron para aumentar el ritmo de las mejoras y correcciones en la nueva versión.
Estas incompatibilidades están debidamente documentadas junto con las acciones correctivas relevantes necesarias para solucionarlas. Los clientes deben consultar las notas de la versión antes de actualizar a Enterprise 6.0 Hive. Además, hay una Guía especial de cambio de Hive para respaldar su actualización a Enterprise 6.0 Hive.
Conclusión
Al establecer esta base, Cloudera se enfoca en la estabilidad, la calidad, la facilidad de uso y la eficiencia, al tiempo que mantiene la compatibilidad hacia atrás tanto como sea posible. Debido a esta base, los futuros lanzamientos incluirán un rápido ritmo de nuevas funciones para mejorar la experiencia del usuario final y los niveles de satisfacción significativamente con Hive 2.1, que ahora está disponible en Enterprise 6.0 de Cloudera.