Entradas

Mostrando las entradas de octubre, 2017

Replicación y Formas de Paralelización Apache Hadoop

Imagen
Hasta este post debemos tener idea de como funciona Hadoop, YARN, Sqoop, Hive y Zookeeper, ahora intentaré caracterizar que es un clúster y como es que se lleva a cambio un procesamiento en paralelo, esto nos permitirá realizar otros dos programas antes de dar por terminada la parte básica de Big Data y movernos a algo más complejo y avanzado, como hemos visto el MapReduce es la forma de paralelización que surge con esta tecnología y así mismo es la primera forma de realizar un procesamiento en paralelo, pero al final un solo se mejora su efectividad en el procesamiento de los datos. Ahora trataré de formalizar todo a lo que llamamos clúster, junto con su manera de procesar la información para poder realizar los siguientes programas. Empezaré definiendo el concepto de rack y de clúster. Un ejemplo gráfico de lo anterior podría ser la siguiente imagen: Con lo anterior definido, tenemos que empezar a caracterizar algunas otras propiedades de un clúster, y continuaré...

UDF,UDAF y UDTF Apache Hive

Imagen
Bueno en el post de manejo de Apache Hive aprendimos a usar lo que nos brinda hive como componente, pero que tal si quisiéramos enriquecer a este componente con funciones más poderosas y de la mano del MapReduce ó TEZ de acuerdo con lo que nuestro Hive este funcionando, bueno esto es posible con código y este post lo mostrará creando el código necesario para ciertas funcionalidades y mostrar como hacerlo gracias a tres características custom que nos provee Apache Hive las cuales son las siguientes.  UDF (User Defined Function)   UDAF (User Defined Agregation Function)  UDTF (User Defined Tabular Function) A lo largo del post mostraré un ejemplo de estas tres funciones dando como base la forma de programar este tipo de funciones para que ustedes puedan realizar las suyas de acuerdo a sus necesidades. Los ejemplos los trabajaremos con los datasets siguientes que se encuentran en esta página como ejemplo:  https://support.spatialkey.com/spatialkey-sample-...

Asignación de un líder Zookeeper

Imagen
Una vez entendido la teoría y llevado a cabo la instalación de este otro componente llevaremos a la práctica los conocimientos de este componente, y que mejor ejemplo que programando una elección de un nodo maestro cuando tenemos una aplicación distribuida y nuestro líder cae, ejemplos, (namenode, resourcer manager, hmaster, etc). El ejemplo anterior que vimos manualmente en manejo de Apache Zookeeper ahora procederemos a verlo de forma programática, este ejemplo tiene muchas aplicaciones y más para cuando se trata de aplicaciones distribuidas y el monitoreo de las mismas. Procederemos por iniciar el servidor de zookeeper, en este caso como solo cuento con un nodo con este clúster de prueba la aplicaciones que mostraré en este blog hace uso de los threads (hilos) para simular que tengo N clientes que se conectan a este servicio de zookeeper. El código se encuentra en:  https://github.com/NeoChoosenOne/ZookeeperLeaderElection Una vez que ya inicializamos el servicio de zookee...