¿Qué es HDInsight?
HDInsight es un servicio de Microsoft Azure que nos provee una plataforma de big data como servicio. Esto es, Microsoft se hace cargo de mantener los servidores y de actualizar la plataforma, y nosotros creamos el software que corre sobre ella, y pagamos por el uso que hacemos del servicio.
HDInsight usa la distribución Hadoop Hortonworks Data Platform (HDP). Normalmente, cuando hablamos de Hadoop, solemos referirnos al ecosistema de componentes Hadoop completo, que incluye clusters Storm o HBase, así como de otras tecnologías que están debajo del paraguas de Hadoop.
¿Qué es big data?
Seguramente habrán escuchado últimamente el término big data, y se preguntarán de qué se trata.
Big data se trata de problemas en los cuales tenemos un gran (y siempre creciente) volumen de información, siendo recibido a alta velocidad, y en una variedad cada vez mayor de datos sin una estructura definida y de diferentes contextos semánticos.
Big data describe cualquier gran cuerpo de información digital, ya sea información proveniente de sensores en equipos industriales, el texto de mensajes de Twitter (o cualquier otra plataforma de social media), datos de telemetría de un sitio web de alto tráfico. Big data puede hacerse sobre datos históricos (datos previamente almacenados) o en tiempo real (haciendo un streaming directo de la fuente).
Para que big data nos provea de inteligencia o conocimiento accionable, no sólo debemos hacer las preguntas correctas y recolectar los datos pertinentes, sino que estos datos deben ser accesibles, deben ser limpiados, analizados y, finalmente, presentados de una forma útil. En esto es en lo que puede ayudarnos el análisis de big data en Hadoop sobre HDInsight.
Ecosistema Hadoop en HDInsight
Al momento de escribir este post (como todos los servicios de Azure, esto evoluciona constantemente) el ecosistema de Hadoop en HDInsight está compuesto por:
Clusters Windows y Linux
Podemos elegir el Sistema Operativo sobre el que correrá nuestro cluster: Windows 2012 R2 o Ubuntu 12.04 LTS (actualmente en Preview).
Categoría | Hadoop en Windows | Hadoop en Linux (preview) |
---|---|---|
Sistema Operativo | Windows 2012 R2 | Ubuntu 12.04 Long Term Support (LTS) |
Tipo de cluster | Hadoop, Storm, HBase, Spark (preview) | Hadoop |
Deploy | Portal de administración de Azure, Azure CLI, Azure PowerShell, HDInsight .NET SDK | Portal de administración de Azure, Azure CLI, Azure PowerShell |
Interfaz de usuario del cluster | Dashboard del cluster | Ambari |
Acceso remoto | Remote Desktop Protocol (RDP) | Secure Shell (SSH) |
Clusters personalizados
El servicio de HDInsight nos provee de clusters configurados para cargas de trabajo específicas, o podemos personalizarlos mediante scripts en su creación.
- Hadoop (la carga de trabajo de «Consulta»): provee un almacenamiento confiable sobre HDFS (Hadoop Distributed File System, un sistema de archivos distribuidos que es parte el core de Hadoop) y un modelo de programación de MapReduce para procesar y analizar datos en paralelo.
- HBase (la carga de trabajo «NoSQL»): una base de datos NoSQL construida sobre Hadoop que provee acceso aleatorio y alta consistencia para grandes cantidades de datos no estructurados y semi estructurados, potencialmente miles de millones de filas por millones de columnas.
- Apache Storm (la carga de trabajo «Stream»): un sistema de computación distribuida en tiempo real para procesar un gran stream de datos rápidamente.
Versiones de los componentes
Fuente: Microsoft
Componente | HDInsight Version 3.2 | HDInsight Version 3.1 (default) | HDInsight Version 3.0 | HDInsight Version 2.1 |
---|---|---|---|---|
Hortonworks Data Platform | 2.2 | 2.1.7 | 2.0 | 1.3 |
Apache Hadoop & YARN | 2.6.0 | 2.4.0 | 2.2.0 | 1.2.0 |
Tez | 0.5.2 | 0.4.0 | ||
Apache Pig | 0.14.0 | 0.12.1 | 0.12.0 | 0.11.0 |
Apache Hive & HCatalog | 0.14.0 | 0.13.1 | 0.12.0 | 0.11.0 |
HBase | 0.98.4 | 0.98.0 | ||
Apache Sqoop | 1.4.5 | 1.4.4 | 1.4.4 | 1.4.3 |
Apache Oozie | 4.1.0 | 4.0.0 | 4.0.0 | 3.3.2 |
Zookeeper | 3.4.6 | 3.4.5 | 3.4.5 | |
Storm | 0.9.3 | 0.9.1 | ||
Mahout | 0.9.0 | 0.9.0 | ||
Phoenix | 4.2.0 | 4.0.0.2.1.7.0-2162 | ||
Spark | 1.3.1 |
Ventajas de correr Hadoop en la nube
- Creación de clusters sin necesidad de configurar nada manualmente.
- Alta disponibilidad y confiabilidad.
- Escalado de forma sencilla.
- Actualizado a las versiones más recientes de los componentes.
- Integración con otros servicios de Azure, como SQL Database.
- Almacenamiento económico y eficiente en Azure Blob Storage.
- Al tener los datos almacenados en Blob Storage, es posible destruir el cluster sin perder los datos.
Conclusiones
Como ven, la plataforma de HDInsight nos trae a Hadoop, y a muchos de los proyectos relacionados, a la nube de Microsoft, como un servicio, de manera de no tener que ocuparnos por la administración de la infraestructura.
En próximos posts estaré mostrando cómo crear, administrar y usar nuestro cluster.