
Linkedin: Alfredo García Facebook: @AlfredoMXDEV
HADOOP está cumplido su primera década en el mundo EMPRESARIAL, sus expectativas para el futuro son de lo más prometedoras. Forrester, en su informe “The Forrester Wave™: Big Data Hadoop Distributions” estima que, en los próximos dos años (2018 y 2019) , el 100% de las grandes empresas adoptarán Hadoop y otras tecnologías relacionadas, como Spark, para sus analíticas Big Data. Por tanto, la cuestión no va a ser tanto preguntarse: ¿Hadoop o no Hadoop?, Sino más bien: ¿Qué distribución de Hadoop me conviene más?
¿Por qué hay distintas distribuciones?
Al desarrollarse como proyectos independientes, es fácil encontrarse con problemas de compatibilidad entre versiones de distintos componentes. Podemos ver RedHat en el caso de Linux, otras compañías han encontrado la forma de comercializar productos basados en desarrollo de software open source, en este caso, con Hadoop. Así, han “empaquetado” composiciones estables de estos componentes, creando sus propias distribuciones de Hadoop. Añaden a ésta otros componentes “propios” y servicios de soporte como “valor agregado” y ya tienen una plataforma completa. Ejemplos de estos componentes propietarios pueden ser, Impala (Ahora KUDU) propio de la distribución de Cloudera, y Tez de Hortonworks.
¿Y cuáles son estas distribuciones?
Las empresa que lideran estos mercados son: Cloudera, MapR y Hortonworks.
Cloudera: Honor a quien honor merece, Cloudera fue la primera distribución Hadoop del mercado. Su chief architect es el propio Dough Cutting, uno de los creadores de Hadoop. Por ello su ritmo de innovación es vertiginoso. Su producto “Cloudera Enterprise” está formado por su propia distribución de Hadoop (CDH), un “Cloudera Manager” propietario y un soporte a usuarios para los componentes core de CDH.
Cloudera fue la primera empresa que en 2013 anunció su estrategia diferenciadora, basada en crear componentes propietarios de valor agregado sobre Hadoop open source; un ejemplo de ello es: Impala, que junto con otras herramientas add-on como Cloudera Manager y Cloudera Navigator son valoradas por los clientes. También se caracteriza por acelerar la introducción del código open source de nivel alfa o beta de las versiones más recientes de Hadoop y por su política de adquisiciones o colaboraciones con otras empresas que permitan cubrir las carencias en seguridad, gestión de datos y analíticas. Cloudera también ofrece un completo (aunque caro) programa de formación y certificación de profesionales.
Mapr: Pone el foco en ofrecer el máximo rendimiento y tolerancia a fallos, aprovechando el potencial de Hadoop para trabajar a gran escala, con el menor esfuerzo. Es el distribuidor de Hadoop que mayor esfuerzo ha hecho en hacer fiables y eficientes las mayores implementaciones de clusters Hadoop. Para ello ha desarrollado su propio sistema de ficheros nativo en Unix. Por tanto, mientras Cloudera y Hortonworks distribuyen los metadatos y procesamiento en los DataNodes y NameNodes propios de HDFS, MapR tiene una arquitectura distinta, con un enfoque más distribuido que se traduce en mejores rendimientos. También se diferencia de sus competidores por sus características de alta disponibilidad (snapshots, mirroring, statefulfailover) e incluye el proyecto Apache Drill, basado en Google Dremel, para ofrecer procesamiento en tiempo real.
![]() |
Hortonworks: La filosofía está más cercana al modelo de innovación open source. Toda la tecnología de la distribución HortonWorks es Apache 100%. Está tan comprometida con este modelo, que incluso cuando adquiere alguna empresa para rellenar algún “gap” no cubierto por el core de Hadoop, aporta el código al proyecto Apache en beneficio de la comunidad, como hizo cuando adquirió XA secure, que pasó a convertirse en Apache Ranger. Fue el primer vendor en usar la funcionalidad HCatalog para los servicios de metadatos y logró optimizar el proyecto Hive, el estándar de facto para las queries SQL interactivas, con la iniciativa Stinger.
Hortonworks ofrece una práctica herramienta de gestión y administración del cluster, Apache Ambari cuya funcionalidad es similar al Cloudera Manager, pero tiene ventaja de ser un software no propietario. Otra de las ventajas de esta distribución es una sencilla y práctica “sand-box”, para aprender a manejar el entorno, así como numerosos y tutoriales online. Pero la mayor diferencia entre Hortonworks y sus competidores fue el desarrollo de importantes mejoras en el core trunk de Hadoop que permiten que se ejecute de forma nativa en plataformas Windows, tanto en servidores on premise, como en la nube (Windows Azure), mientras que sus competidores trabajan únicamente sobre Linux.

Todas estas distribuciones pueden usarse de forma independiente, o en combinación con una Big Data Suite. Las distribuciones Hadoop te ofrecen un práctico “empaquetado” , herramientas y soporte. Pero aún así pueden requerir un gran esfuerzo en codificación de jobs en MapReduce o integración de las diferentes fuentes de datos en Hadoop. Aquí es donde entran las “Big Data Suites”, aportando ventajas en modelado, generación de código, programación de jobs e integración de distintas fuentes de datos.
Las Big Data Suites pueden ser de código abierto como: Talend o Pentaho, o propietarias como IPC o IBM InfoSphere. La mayoría de los grandes fabricantes de software, como IBM, Oracle o Microsoft, integran suites de Big Data en su portfolio de software. Es importante asegurarse de la compatibilidad entre la Big Data Suite y la distribución con la que estamos trabajando. Algunas distribuciones son más “flexibles” que otras en cuanto a compatibilidad.
Big Data Suite es un tema que abordaremos en nuestras próximas publicaciones.
¿Qué preguntas tenemos que hacernos a la hora de elegir?
A la hora de elegir qué distribución instalar, conviene hacerse una serie de preguntas.
- ¿Qué proveedor puede ser tu mejor aliado?
- ¿Qué problema de negocio quieres resolver?
- ¿Qué tipo de datos tienes que analizar?
- ¿Componentes open source o software propietario?
- La infraestructura Hadoop que estás considerando, es lo suficientemente flexible para tus distintos casos de uso?.
- ¿Qué herramientas ya existentes quieres integrar con Hadoop?.
- ¿Necesitan tus administradores herramientas de gestión? (la distribución core de Hadoop no las incluye).
- ¿Necesitas capacitación? ¿Qué tan compleja es la instalación?
- ¿Necesitas soporte?
- ¿Puedes tener problemas de vendor lock-in? (como código no transferible a otras distribuciones, formatos de datos propietarios o proveedor fijos).
Lo mejor, para poder comparar, es crear una tabla que reúna las especificaciones concretas de las distribuciones que estás considerando, priorizando las que son más importantes para tu negocio.Por ejemplo, si tienes instalaciones mixtas, con sistemas operativos UNIX y Microsoft, la opción a elegir será Hortonworks. Si necesitas un cluster muy optimizado para funcionar en tiempo real, investiga MapR. Si necesitas un potente motor de consultas SQL, puede interesante Cloudera, por la potencia de Impala…
-blogthinkbig-
