Dentro de la serie de post acerca Hadoop y todo su ecosistemas de librerías surgidas alrededor de él, hoy vamos a ver Apache Oozie. Apache Oozie es una librería que nos permite definir una secuencia de ejecución de jobs Hadoop. Con Oozie se va a definir en un fichero de configuración un flujo de trabajo que definirá esta secuencia, en la cual se irán ejecutando las tareas Hadoop que indiquemos. Además podremos definir que hacer en caso de que las tareas se ejecuten de manera exitosa o no. Este fichero de configuración será un fichero XML.
Archivo de la etiqueta: Big Data
Introducción a Hive
La primera librería relacionada con Hadoop de la que vamos a hablar en este blog va a ser Apache Hive. De la web oficial del proyecto Apache Hive:
Hive es un sistema de almacén de datos que facilita el manejo sencillo de datos, consultas ad-hoc, y el análisis de grandes conjuntos de datos almacenados en sistemas de ficheros compatibles con Hadoop. Hive provee un mecanismo para dotar de estructura en los datos y realizar consultas sobre los mismos con el lenguaje tipo SQL llamado HiveQL. Al mismo tiempo este lenguaje también permite a los programadores de Map/Reduce incluir sus propios mappers y reducers cuando no sea conveniente o eficiente expresar esta lógica con HiveQL.
Se puede leer estas mismas entradas en mi otro blog java4developers.com
Fases en Big Data y librerías Hadoop
En los anteriores post hemos visto una breve introducción sobre Big Data y una librería como es Hadoop que permite manejar grandes volúmenes de datos. Además hemos hablado sobre las bases de Hadoop, en especial sobre MapReduce y el sistema de ficheros distribuidos HDFS. Si quieres puedes echarle un vistazo pinchando en cualquiera de los siguientes enlaces:
Recuerdo que se puede leer estas mismas entradas en mi otro blog java4developers.com
El motivo principal de este post es la relación entre las fases que existen en Big Data a la hora de procesar los datos y los frameworks y/o librerías que se han ido desarrollando bajo el ecosistema de Hadoop que se ejecutan durante esas mismas fases. En este post me quiero centrar más en la parte de Big Data y quizá dedicarle más adelante algún post más extenso a algunas de las librerías más utilizadas que han surgido bajo el paraguas Hadoop.
Introducción a HDFS
HDFS (Hadoop Distributed File System) es el sistema de ficheros distribuido utilizado por Hadoop. Por lo tanto está especialmente diseñado para cumplir con las necesidades propias de Hadoop. Las dos ideas principales de HDFS es por un lado que sea un sistema de ficheros que permita ser utililzado en commodity hardware, es decir que facilite una alta escalabilidad tolerante a fallos. Por otro lado Hadoop necesita para demostrar todo su potencial que los problemas que se estén intentando solucionar involucren un gran número de datos. HDFS debe garantizar un alto throughput de datos para que Hadoop sea capaz de procesar este gran volumen de información utilizando MapReduce.
Introducción a MapReduce
Como ya habíamos visto en el anterior post de Introducción a Big Data y Hadoop, Hadoop se basa en dos conceptos fundamentalmente, el modelo de computación MapReduce y el sistema de ficheros distribuidos HDFS. En este post vamos a profundizar un poco más en el modelo MapReduce.
MapReduce es un modelo de computación que permite paralelizar el cómputo de problemas donde contamos con grandes volúmenes de datos. Una de las ventajas de MapReduce es que podemos resolver este tipo de problemas utilizando para ello lo que se conoce como commodity hardware, es decir, computadores de gama básica. Esto permite no tener que invertir en grandes equipos como antiguamente para solucionar problemas tipo Big Data.
Si quieres seguir leyendo esta post en mi otro blog java4developers.com pulsa sobre este enlace. Si lo quieres leer en este mismo blog continua leyendo más abajo.