Sie sind auf Seite 1von 36

BIG DATA

RESUMEN.

Las tecnologas digitales estn facilitando nuevas herramientas y metodologas de


anlisis en el mbito de la comunicacin, al igual que en otras de investigaciones. En
este artculo abordaremos la metodologa Big Data. Conocer con precisin al
consumidor ha sido y es uno de los objetivos ms buscados por la publicidad y un punto
primordial para su eficacia. La expansin de los medios sociales ha otorgado un
acelerado poder de participacin a los consumidores, que cada vez ms generan y
comparten grandes cantidades de informacin. As, la analtica Big Data plantea una
oportunidad sin precedentes para la actividad publicitaria. Sin embargo, este desarrollo
tecnolgico presenta claras implicaciones en la privacidad de los individuos,
especialmente en lo referido a sus datos personales y, por tanto, una necesaria revisin
tica. En este marco, Internet y las redes sociales se vuelven un foco de atencin para la
proteccin de datos.

Palabras clave: Big Data, Data Warehouse, Data Mining, Hadoop.

I. INTRODUCCIN.

Actualmente estamos viviendo la Era de los datos, con el enorme crecimiento en el uso
de herramientas digitales como internet y los dispositivos mviles, estamos generando
datos constantemente, con cada movimiento que damos navegando en internet o
interactuando en las redes sociales como Facebook o Twitter, estamos dejando una
huella permanente que queda almacenada en algn Data Center. El volumen de
informacin que estamos generando a cada segundo es enorme. Este gran crecimiento
en el volumen de datos, ha obligado a resolver la forma en la que diseamos nuestros
sistemas, y es as, como el concepto de Big Data y la nueva disciplina de los cientficos
de datos est surgiendo.

En los ltimos aos se han generado datos a una escala sin precedentes, por lo que hoy
en da estamos sumergidos en un mar de informacin; esto significa que el volumen de
datos que necesitan ser extrados, transformados, almacenados y analizados se
incremente exponencialmente. De estas grandes cantidades surge el trmino big data,
que se refiere al procesamiento de enormes cantidades de datos no estructurados o
semiestructurados que los sistemas convencionales no son capaces de gestionar. El big
data tambin describe el tratamiento de informacin en el que el volumen, la velocidad,
veracidad y la variedad de los datos exceden las posibilidades de organizacin para
calcular una adecuada y oportuna toma de decisiones.

La investigacin sobre big data pretende solucionar desafos que se presentan al


momento de capturar, almacenar y dar mantenimiento a los datos, as como los
presentes en la bsqueda de informacin para su posterior anlisis y visualizacin de
resultados. A medida que avanza la tecnologa, encontramos que el universo digital
comprende todo tipo de datos; sin embargo, la mayora de nuevos datos que se generan
son de tipo no estructurado. Esto significa que muchas veces sabemos poco acerca de
ellos, ya sea porque no poseen definiciones de tipos, no estn organizados de acuerdo
con ningn patrn o simplemente no contemplan el concepto de variables o atributos.
Los metadatos permiten enfrentar la informacin no estructurada, ya que sus
caractersticas permiten obtener informacin, contenido, calidad, condicin y otros
elementos sobre los datos. La nica manera en la que una empresa puede ser
competitiva es teniendo capacidad para procesar su principal activo: la informacin que
genera.

II. ANTECEDENTES HISTORICOS.

Uno de los primeros trminos clave que nos encontramos en el campo del anlisis de
datos de negocio es el de Business Intelligence (Inteligencia de negocios), cuya primera
referencia se remonta a 1958 a cargo de Hans Peter Luhn, investigador de IBM.
Business Intelligence: Anlisis descriptivo de datos, en el que se consultan y visualizan
de manera agregada datos provenientes de diferentes indicadores de negocio para
obtener una visin de lo que ha pasado y lo que est pasando. (Nio & Illarramendi,
2016)

A finales de los 80 surge la expresin Data Mining (minera de datos). El origen del
trmino proviene de la analoga con las tcnicas de minera en las que se extrae un
material valioso (en este caso, conocimiento) a partir de yacimientos (bancos de datos).
Data Mining (minera de datos): Extraccin de conocimiento (patrones, tendencias,
modelos) en bancos de datos, enfocado a un anlisis de tipo predictivo. El concepto de
Knowledge Discovery in Databases (KDD) comprende un rea similar. En muchas
ocasiones se usan indistintamente, aunque tambin se usa el trmino Data Mining para
referirse especficamente a la etapa analtica dentro del KDD. El desarrollo de proyectos
de Data Mining para la bsqueda y explotacin de patrones en bancos de datos,
empleando tcnicas de Machine Learning. (Nio & Illarramendi, 2016)

Machine Learning (aprendizaje automtico): rea de la Informtica enfocada al estudio


y creacin de algoritmos capaces de tomar decisiones (hacer predicciones) basadas en la
experiencia acumulada en una batera de casos (bancos de datos) resueltos con xito.
Sus fundamentos se derivan de la inteligencia artificial, la estadstica y la optimizacin
matemtica. El uso de algoritmos de Machine Learning representa una parte destacada
dentro de las tcnicas de Data Mining. Este tipo de aplicaciones de Data Mining nos
permite explicar el origen del concepto de Data Science (ciencia de datos). (Nio &
Illarramendi, 2016).

Data Science: Conjunto de principios y fundamentos, tanto cientficos como aplicados,


que guan la extraccin de conocimiento de los datos, y en los que se basan las
herramientas, tcnicas y procedimientos de Data Mining. (Nio & Illarramendi, 2016)

2.1. Origen de las tecnologas Big Data: Modelo MAP-Reduce.

La necesidad de las tecnologas que posteriormente se han definido como Big Data tiene
su origen en el uso de Data Mining por parte de las grandes empresas tecnolgicas que
surgen (principalmente en Silicon Valley) con la eclosin y popularizacin del World
Wide Web entre finales de los 90 y principios del 2000. El problema al que se
enfrentaron dichas empresas no difiere del que hemos descrito en el caso de compaas
financieras o aseguradoras: potenciar su negocio explotando sus bancos de datos. El
elemento clave y diferencial surge al comparar la dimensin de los datos en ambos
escenarios: mientras que en los ejemplos anteriores la cantidad de datos era procesable
usando las herramientas y las capacidades de mquinas convencionales, en el caso de
las grandes empresas en torno a la Web, por el contrario, el gran volumen de datos a
analizar haca inviable en la prctica su procesamiento usando las tcnicas tradicionales.
De hecho, es tambin en esta poca cuando se comienza a apuntar al volumen,
velocidad y variedad de los datos (modelo posteriormente conocido como 4 V") como
aspectos clave dentro de una estrategia para la ptima gestin de los datos en contextos
de negocio. (Nio & Illarramendi, 2016)
La disponibilidad de una solucin de cdigo abierto como Apache Hadoop facilita la
adopcin de estas tecnologas Big Data, favoreciendo al mismo tiempo la creacin de
herramientas adicionales sobre dicha plataforma que permitan potenciar su
funcionalidad. De hecho, durante los aos siguientes a la divulgacin del modelo
MapReduce se repite el mismo patrn de innovacin, en el que los desarrollos
divulgados por Google en torno al procesamiento masivo de datos sirven de inspiracin
para crear soluciones de cdigo abierto que aborden los mismos problemas. (Nio &
Illarramendi, 2016)

As, en 2005 Google divulga Sawzall, un lenguaje para expresar y programar las tareas
ms usuales dentro de la consulta y anlisis de grandes estructuras de datos sobre un
modelo MapReduce. Esto inspira el desarrollo de la herramienta de cdigo abierto
Apache Pig y su lenguaje Pig Latin, para su uso sobre Apache Hadoop. As como
Apache Pig es inicialmente desarrollado y promovido por Yahoo (al igual que con
Hadoop), desde la empresa Facebook se desarrolla inicialmente una herramienta de
cdigo abierto para fines similares, Apache Hive, aunque en este caso con un modo de
uso ms cercano al conocido lenguaje SQL para interrogar bases de datos. Del mismo
modo, en 2006. (Nio & Illarramendi, 2016)

Figura 1: Ejemplo de proceso usando el mdulo MapReduce para contar las


apariciones de las palabras de un documento. (Nio & Illarramendi, 2016)
III. MARCO TERICO

3.1. Qu es big data?

Segn IBM (2015), La tendencia en el avance de la tecnologa que a abierto las puertas
hacia un nuevo enfoque de entendimiento y toma de decisiones, la cual es utilizada para
describir enormes cantidades de datos (estructurados, no estructurados y semi
estructurados) que tomara demasiado tiempo y sera muy costoso cargarlos a un base
de datos relacional para su anlisis. De tal manera que, el concepto de Big Data aplica
para toda aquella informacin que no puede ser procesada o analizada utilizando
procesos o herramientas tradicionales. Sin embargo, Big Data no se refiere a alguna
cantidad en especfico, ya que es usualmente utilizado cuando se habla en trminos de
petabytes y exabytes de datos.

Taubin (2013) define a Big Data como grandes conjuntos de datos, que no se pueden
analizar con las herramientas y mtodos tradicionales de procesamiento y
administracin de base de datos. El objetivo es descubrir correlaciones que permitan
mejorar el desempeo de los sistemas de informacin al asistir en los procesos de toma
de decisiones y el control de los procesos. Segn el autor, Big Data permite el uso
intensivo de los datos a un nivel nunca antes imaginado. Explica que data sciense o la
ciencia de los datos, es la creacin de una multitud de mtodos necesarios para extraer
informacin de los datos. Al aplicar data science junto con Big Data se logra obtener
informacin valiosa de conjuntos de datos que antes eran imposibles de gestionar. Esta
mezcla entre Big Data y data science, adems la llama ciencia de los grandes datos o
Big Data Science, con el objetivo de generar soluciones integrales y xito econmico.

La Big Data es la rama de las tecnologas de la informacin que estudia las dificultades
inherentes a la manipulacin de grandes conjuntos de datos. El verdadero poder de la
Big Data reside en que se trata sobre el comportamiento de la gente, y no sobre sus
datos, consiste en encontrar los patrones de relaciones y comportamientos en el caos de
los grandes volmenes de datos que producimos. Los datos son tantos, que todos se
vuelven estadsticamente significativos, lo que significa, que los mtodos tradicionales
que utilizamos para analizarlos se han vuelto obsoletos. (Lpez Briega, 2012).

Big Data (grandes volmenes de datos) se refiere al conjunto de informacin tan grande
y complejo que se hace muy difcil su procesamiento utilizando herramientas de gestin
y anlisis de bases de datos convencionales. El Big Data engloba infraestructuras,
tecnologas y servicios que han sido creados para dar solucin al procesamiento de
enormes conjuntos de datos estructurados, no estructurados o semi-estructurados
(mensajes en redes sociales, seales de mvil, archivos de audio, sensores, imgenes
digitales, datos de formularios, e-mails, datos de encuestas, logs, etc.) que pueden
provenir de sensores, micrfonos, cmaras, escneres mdicos o imgenes. (Gil &
Colomer).

3.2. Cmo se implementa Big Data?

Segn Ernesto Mislej (2015), nos dice que, Big Data posee dos columnas principales
que se necesitan para poder sostener la herramienta. La primera columna es la del
Hardware y Software, esto involucra toda la infraestructura necesaria para poder
almacenar, procesar y analizar los datos para convertirlos en informacin til mediante
su visualizacin y su generacin de reportes. La otra columna de Big Data es la de Data
Science, que se encarga de utilizar la infraestructura y obtener los resultados buscados.
Es la encargada de generar el valor de la herramienta.

Ambas columnas son indispensables, se necesitan una a otra, ya que sin infraestructura
no hay lugar ni materia prima para llevar adelante el anlisis y sin Data Science se tiene
la materia prima pero no se puede utilizar.

Big Data, Big World de PowerData (2013) define tres modelos de implementacin de
Big Data. Estos modelos dependen del business intelligence de la empresa, la
infraestructura de la empresa y del nivel de conocimiento del entorno. El primer modelo
es el revolucionario, que lo define como la aplicacin en real time de Big Data. Este tipo
de implementacin tiene como ventajas la agilidad, la optimizacin de datos, tiempos y
la flexibilidad, pero como desventajas el mayor costo y tiempo de adaptacin para poder
comenzar a utilizar la herramienta.

El segundo modelo de implementacin es el evolutivo. Este modelo es usual en


empresas que ya tienen dentro de ellas un nivel de business intelligence avanzado, por
lo que su implementacin sera una evolucin y no una revolucin. Las ventajas de este
modelo son un mayor rendimiento de la herramienta, un mayor volumen de capacidad
en el momento de implementacin y ahorro en costos, ya que ya poseen un business
intelligence que sirva de base para abastecer e implementar la herramienta. Los
inconvenientes son que la velocidad y rendimiento de Big Data estn limitados por la
capacidad del business intelligence existente.
El tercer y ltimo modelo de implementacin es la hbrida, una mezcla entre los dos
modelos anteriores. Las ventajas de este modelo son la precisin y rentabilidad. Las
desventajas son su dificultad y posible resistencia a revolucionar y evolucionar al
mismo tiempo. En este caso el objetivo es adaptar el business intelligence existente e ir
mejorndola segn los requerimientos y la capacidad necesaria, con la dificultad de que
ambas tareas se deben realizar al mismo tiempo.

3.3. Importancia de big data

Con el trmino Big Data se hace referencia a la tendencia del avance de las tecnologas
que han abierto las puertas hacia un nuevo enfoque de entendimiento y toma de
decisiones, la cual es utilizada para describir enormes cantidades de datos que llevara
demasiado tiempo cargarlos en una base de datos relacional para su posterior anlisis.
Por lo tanto, el Big Data se aplicar para toda aquella informacin que no pueda ser
procesada por los mtodos tradicionales.

Una base de datos es un conjunto de datos interrelacionados. Cuando se habla de base


de datos relacional se hace referencia a la teora del modelo de datos relacional obra del
investigador de IBM Edgar Codd en 1970 y que goza de una fuerte base matemtica. El
modelo relacional se caracteriza a muy grandes rasgos por disponer que toda la
informacin que debe de estar contenida en tablas, y las relaciones entre datos deben ser
representadas explcitamente de ese mismo modo. Lo que se consigue con este modelo
es trabajar siempre sobre tablas relacionadas entre s. Evitando duplicidad de registros y
garantizando la integridad referencial, es decir que si se elimina un registro, se eliminan
todos los relacionados. El gran inconveniente que presenta es el tiempo necesario para
manejar grandes cantidades de datos, pero esto se logra gracias al Big Data. Por otro
lado lo que se consigue al trabajar con bases de datos es combinar diferentes tipos de
datos y de una manera formalizada.

Por lo tanto las ventajas de una base de datos relacional se podran definir en:

Integridad referencial (sin duplicidad).

Normalizacin (surgen estndar SQL...).

Permite establecer roles (permisos de entradas a tablas).

No obstante tambin surgen desventajas de la utilizacin de bases de datos relacionales,


aunque en este trabajo solo se va a nombrar tres:
Cantidad de manejo de datos limitada.

Lectura exclusiva de lenguajes estructurados.

Orientadas a satisfacer objetivos de aplicaciones anteriores

Estas tres desventajas nombradas anteriormente las resuelve Big Data, gracias a que su
estructura es capaz de almacenar y procesar grandes cantidades de datos y de los tres
tipos de datos posibles (estructurados, semi-estructurados y sin estructurar) adems es
una arquitectura orientada a los programas actuales

3.4. Las 4 V. de Big Data.

Por qu es tan revolucionario el trmino Big Data? Existen diversas razones pero tiene
cuatro caractersticas que destacan sobre todas las dems y que lo hacen ser nico:

Volumen: La cantidad de datos. Siendo quiz la caracterstica que se asocia con


mayor frecuencia a big data, el volumen hace referencia a las cantidades masivas de
datos que las organizaciones intentan aprovechar para mejorar la toma de decisiones
en toda la empresa. Los volmenes de datos continan aumentado a un ritmo sin
precedentes. No obstante, lo que constituye un volumen verdaderamente alto vara
en funcin del sector e incluso de la ubicacin geogrfica y es ms pequeo que los
petabytes y zetabytes a los que a menudo se hace referencia. Algo ms de la mitad
de los encuestados consideran que conjuntos de datos de entre un terabyte y un
petabyte ya son big data, mientras que otro 30% simplemente no saba cuantificar
este parmetro para su empresa. Aun as, todos ellos estaban de acuerdo en que sea
lo que fuere que se considere un volumen alto hoy en da, maana lo ser ms.
(IBM, 2015).

Variedad: Diferentes tipos y fuentes de datos. La variedad tiene que ver con
gestionar la complejidad de mltiples tipos de datos, incluidos los datos
estructurados, semiestructurados y no estructurados. Las organizaciones necesitan
integrar y analizar datos de un complejo abanico de fuentes de informacin tanto
tradicional como no tradicional procedentes tanto de dentro como de fuera de la
empresa. Con la profusin de sensores, dispositivos inteligentes y tecnologas de
colaboracin social, los datos que se generan presentan innumerables formas entre
las que se incluyen texto, datos web, tuits, datos de sensores, audio, vdeo,
secuencias de clic, archivos de registro y mucho ms. (IBM, 2015).

Velocidad: Los datos en movimiento. La velocidad a la que se crean, procesan y


analizan los datos contina aumentando. Contribuir a una mayor velocidad es la
naturaleza en tiempo real de la creacin de datos, as como la necesidad de
incorporar datos en streaming a los procesos de negocio y la toma de decisiones. La
velocidad afecta a la latencia: el tiempo de espera entre el momento en el que se
crean los datos, el momento en el que se captan y el momento en el que estn
accesibles. Hoy en da, los datos se generan de forma continua a una velocidad a la
que a los sistemas tradicionales les resulta imposible captarlos, almacenarlos y
analizarlos. Para los procesos en los que el tiempo resulta fundamental, tales como
la deteccin de fraude en tiempo real o el marketing instantneo multicanal,
ciertos tipos de datos deben analizarse en tiempo real para que resulten tiles para el
negocio. (IBM, 2015)

Veracidad: La incertidumbre de los datos. La veracidad hace referencia al nivel de


fiabilidad asociado a ciertos tipos de datos. Esforzarse por conseguir unos datos de
alta calidad es un requisito importante y un reto fundamental de big data, pero
incluso los mejores mtodos de limpieza de datos no pueden eliminar la
imprevisibilidad inherente de algunos datos, como el tiempo, la economa o las
futuras decisiones de compra de un cliente. La necesidad de reconocer y planificar la
incertidumbre es una dimensin de big data que surge a medida que los directivos
intentan comprender mejor el mundo incierto que les rodea (vase el recuadro
Veracidad, la cuarta V. (IBM, 2015)
Figura 2: Las 4 V de Big Data - Fuentes, Mckinsey Global Institute, Twitter, Cisco,
Gartner, EMC, SAS, IBM, MEPTEC, QAS. Fuente: (IBM, 2015).

En la figura, se pueden observar las dimensiones que componen Big Data, y se


presentan unos datos interesantes sobre lo que representa en la actualidad cada una de
las dimensiones, por ejemplo:

Para el volumen se dice que 40 Zettabytes sern creados en 2020, es decir un


aumento de 300 veces con respecto a 2005. 6 billones de personas tienen telfonos
celulares, de una poblacin mundial de 7 billones. Se estima que 2.5 Quintillones de
Bytes se crean cada da.
Para la velocidad se dice que la Bolsa de Nueva York Captura 1 TB de informacin
comercial durante cada sesin de negociacin, y esta informacin debe estar
disponible de manera instantnea. Los vehculos modernos tienen 100 sensores, que
monitorean el vehculo satelitalmente. Para el 2016 se proyecta que habr 18.9
billones de conexiones de red, eso equivale a 2.5 conexiones por cada persona en la
tierra.
Para la variedad se dice que a partir de 2011, el tamao global de datos en la
asistencia sanitaria se estim en 150 exabytes. 400 millones de tweets son enviados
por da en alrededor 200 millones de usuarios activos cada mes.
Para la veracidad 1 de cada 3 lderes empresariales no confan en la informacin que
utilizan para tomar decisiones. La mala calidad de los datos le cuesta a la economa
de Estados Unidos alrededor de $ 3,1 trillones en un ao. 27 % de los encuestados
en una encuesta no estaban seguros de cmo gran parte de sus datos eran
incorrectos.

3.5. Dnde aplicar Big Data?

Es evidente que Big Data se puede aplicar en todo aquello que necesite una solucin
que tenga que ver con las 4 Vs. Big Data ya se aplic como se explic anteriormente en
la seleccin Alemana de futbol, adems en la campaa de reeleccin del presidente de
estados unidos Barack Obama, tambin se aplic para dar mayor rapidez al anlisis del
Genoma Humano, y el gran acelerador de hadrones en suiza es otro de los grandes
ejemplos en donde se aplica Big Data.

Big Data es un universo en donde todo aquel que le gusten los retos tiene oportunidad.
Desde un ingeniero, un economista, un matemtico, un estadstico, un bilogo etc.
Muchas ciencias estn implicadas en este fenmeno llamado Big Data. Se puede usar
Big Data desde una pequea empresa de ventas por internet hasta una empresa que
maneje transmisiones de GPS, segn su necesidad se puede dar una solucin
informtica que use Big Data. En bases de datos de un crecimiento horizontal
desmesurado para realizar un correcto manejo del almacenamiento y anlisis de los
datos.

3.6. Base de datos orientada a columnas

Las bases de datos tradicionales, orientadas a filas, son excelentes para el procesamiento
de transacciones online con gran necesidad de recarga de datos, pero superformance
disminuye drsticamente cuando el volumen de datos crece y a medida que los datos
empiezan a ser menos estructurados. Las bases de datos columnares almacenan los
datos enfocndose en columnas, a diferencia de las bases de datos orientadas a filas,
esto permite una gran posibilidad de compresin de datos y tiempos de respuesta de
queries muy rpidos. La desventaja de estas bases de datos es que generalmente solo se
permite la actualizacin de proceso por lotes, que tiene un tiempo de actualizacin
mucho ms lento que los modelos tradicionales. (Jara, 2014).
Para explicar la diferencia entre ambos enfoques, vemos como son guardados ambos
datos, supongamos se tienen los siguientes datos representados en la columna siguiente
figura.

Figura 3: Representacin de datos en una base de datos.

Figura 4: Representacin de la base de datos orientadas a filas

La forma en la que las bases de datos orientadas a filas guardan esta informacin es la
figura 4, este sistema est diseado para retornar de forma eficiente datos de una
determinada fila, o conjunto de las mismas, en la menor cantidad de operaciones
posibles y es precisamente aqu donde se puede notar la deficiencia del mismo.
Supongamos que deseamos retornar todos los records que contengan salario entre 40000
y 50000, el DBMS (Database Managment System) deber buscar todo el conjunto de
datos a fin de encontrar los que satisfagan la condicin.

Por otro lado, tenemos las bases de datos columnares, las mismas guardan los datos de
manera distinta como se puede apreciar en la figura 5.

Figura 5: Representacin de la base de datos columnares.

Esta distribucin es una representacin muy parecida a la estrategia para mejorar el


desempeo de las bases de datos orientadas a filas, que es la indexacin de los datos.
Pero, es el mapeo de los datos donde existe la diferencia sustancial, En un sistema de
indexado orientada a filas, la clave principal es el ROWID que se asigna a los datos
indexados. En el sistema orientado a columnas de clave principal es el de dato. (Abadi
& Madden, 2008)
NoSQL database

Son sistemas de gestin de bases de datos que, a diferencia de los sistemas de gestin
tradicionales, como principal diferencia tienen no utilizar SQL como lenguaje de
consultas, los datos no requieren por ello estructuras fijas como tablas.

Algunas ventajas que poseen las bases de datos NoSQL por lo cual la tendencia para el
desarrollo de Big Data va orientado con este esquema son: (Couchbase)

Modelado de datos ms flexible: Las bases de datos NoSQL tienen un modelo muy
diferente, no utilizando el esquema estructurado de tablas. Por ejemplo, un
documento orientado a la base de datos NoSQL toma los datos que desea almacenar
y los guarda en documentos en formato JSON. Cada documento JSON puede ser
pensado como un objeto para ser utilizado por la aplicacin. Un documento JSON
podra, por ejemplo, tener todos los datos almacenados en una fila que se extiende
por 20 tablas de una base de datos relacional y agregar en un solo documento /
objeto. Agregando esta informacin puede conducir a la duplicacin de la
informacin, pero ya que el almacenamiento ya no es un costo prohibitivo, la
flexibilidad del modelo de datos resultante, la facilidad de distribuir eficientemente
los documentos resultantes y leer y escribir mejoras de rendimiento lo convierten en
un fcil intercambio para las aplicaciones basadas en la Web.
Escalabilidad y ventajas de performance: A escala, tambin por lo general
termina siendo ms barato que el escalado de sistemas de bases de datos
tradicionales. Esto es una consecuencia de los servidores grandes y complejos,
tolerantes a fallos que son caros de disear, construir y mantener. Los costos de
licencias de bases de datos relacionales comerciales tambin pueden ser
prohibitivos, ya que tienen un precio con un nico servidor en mente. Bases de datos
NoSQL, por otra parte suelen ser de cdigo abierto, con un precio de funcionar en
un clster de servidores, y relativamente barato. En las figuras 4 y 5 podemos
observar la relacin de costos del sistema y performance de la aplicacin para el
escalamiento en ambos modelos, tradicional y NoSQL, apreciando as la diferencia
de costos a medida que el sistema crece, as tambin como un mantenimiento en la
performance del mismo.
Figura 6: Relacin de costo-performance en sistemas de base de datos tradicionales.

MapReduce

Este es un paradigma de programacin que permite la escalabilidad masiva ejecucin de


un trabajo en contra de miles de servidores o clsteres de servidores. Cualquier
aplicacin MapReduce consiste en dos tareas, Map y Reduce.

Figura 7: Relacin de costo-performance en sistemas de base de datos NoSQL.

Concretamente son abordables solo aquellos que se pueden disgregar en las operaciones
de map() y de reduce() y esto es importante a la hora de poder elegir este framework
para resolver un problema. Las funciones Map y Reduce estn definidas ambas con
respecto a datos estructurados en tuplas del tipo (clave, valor).

Funcin Map(): Map toma uno de estos pares de datos con un tipo en un dominio de
datos, y devuelve una lista de pares en un dominio diferente.
Figura 8: Funcin Map.

Funcin Reduce(): La funcin reduce es aplicada en paralelo para cada grupo,


produciendo una coleccin de valores para cada dominio.

Figura 9: Funcin Reduce.

3.7. Arquitectura Big Data (Serrat Morros, 2013)

La arquitectura Big Data est compuesta generalmente por cinco capas: recoleccin de
datos, almacenamiento, procesamiento de datos, visualizacin y administracin. Esta
arquitectura no es nueva, sino que ya es algo generalizado en las soluciones de Business
Intelligence que existen hoy en da. Sin embargo, debido a las nuevas necesidades cada
uno de estos pasos ha ido adaptndose y aportando nuevas tecnologas a la vez que
abriendo nuevas oportunidades.

En la Figura 10 se puede observar el flujo que la informacin tendra en una


arquitectura Big Data, con orgenes de datos diversos -bases de datos, documentos o
datos recibidos en streaming- que se reciben y almacenan a travs de la capa de
recoleccin de datos, con herramientas especficamente desarrolladas para tal funcin.
Los datos recibidos pueden procesarse, analizarse y/o visualizarse tantas veces como
haga falta y lo requiera el caso de uso especfico.

Figura 10: Arquitectura Big Data por capas.


Figura 11: Arquitectura Hadoop

a) Recoleccin de datos (Serrat Morros, 2013)


Las herramientas de recoleccin de datos pueden dividirse en dos grupos,
dependiendo de cmo se conecten al origen de los datos:
1. Batch o por lotes: se conectan de manera peridica a la fuente de datos
buscando nueva informacin. Generalmente se usan para conectarse a sistemas
de ficheros o bases de datos, buscando cambios desde la ltima vez que se
conectaron. Una herramienta para migrar datos peridicamente -una vez al da,
por ejemplo- de una base de datos a otra es un ejemplo de recoleccin de datos
por lotes.
2. Streaming o por transmisin en tiempo real: estn conectados de manera
continua a la fuente de datos, descargando informacin cada vez que sta
transmite. Se acostumbra a usar para monitorizacin de sistemas -para aumentar
la seguridad y la deteccin de fallos-, de conjuntos de sensores o para conectarse
a redes sociales y descargar informacin en tiempo real.
b) Almacenamiento. (Serrat Morros, 2013)
La capa de almacenamiento tiene, a grandes rasgos, dos elementos bsicos: el
sistema de ficheros y la base de datos. Hasta hace poco los sistemas de
tratamiento de la informacin se centraban principalmente en las bases de datos
pero, debido a que en los sistemas Big Data se busca la mayor variedad posible -
las bases de datos acostumbran a ser poco flexibles-, los sistemas de ficheros
han cobrado mayor importancia.
Los sistemas de ficheros son una parte fundamental de la arquitectura Big Data
ya que es por encima de ellos que el resto de herramientas estn construidas.
Adems, el hecho de querer trabajar con datos no estructurados los hace an ms
importante ya que son el medio principal para trabajar con este tipo de
informacin.
Adicionalmente, un objetivo que buscan los sistemas Big Data es la
escalabilidad, es decir, un sistema que pueda variar su tamao (ya sea
aumentndolo o disminuyndolo) segn las necesidades y que esto no afecte al
rendimiento general de todo el sistema. Esta necesidad fue la que motiv la
aparicin de los sistemas de ficheros distribuidos, que consisten en una red o
clster de ordenadores -o nodos- interconectados que estn configurados para
tener un slo sistema de ficheros lgico.
En la Figura 11 se puede observar un ejemplo simplificado del funcionamiento
de un sistema de ficheros distribuido. Se tiene un directorio con cuatro ficheros -
FicheroA, FicheroB, FicheroC y FicheroD- que el usuario, al conectarse al
sistema y entrar en el directorio, ve como si estuvieran todos almacenados en un
mismo ordenador (sistema lgico). La realidad es que cada fichero est
fsicamente almacenado en un nodo u ordenador distinto a los dems (sistema
fsico).
Figura 11: Vistas fsica y lgica de un sistema de ficheros distribuido con cuatro
ficheros: FicheroA, FicheroB, FicheroC, FicheroD.

c) Procesamiento y anlisis. (Serrat Morros, 2013)

Una vez se tienen los datos almacenados, el siguiente paso en un sistema Big Data
es explotar la informacin para llegar a los resultados deseados. Las herramientas de
anlisis y procesamiento de informacin han evolucionado considerablemente,
especialmente aquellas que trabajan sobre datos no estructurados. La necesidad de
crear nuevas aplicaciones y que stas ya estn adaptadas a los sistemas de
almacenamiento ms recientes (como los comentados en el punto anterior, los
sistemas distribuidos y las bases de datos NoSQL) ha promovido la aparicin de
nuevos paradigmas.

d) Visualizacin (Serrat Morros, 2013).

El apartado de visualizacin es el que menos ha cambiado respecto a las


arquitecturas ms tradicionales. Como se ha comentado en el apartado de
Almacenamiento, los resultados a visualizar del procesamiento se acostumbran a
consultar sobre bases de datos relacionales o SQL, ya que son las que ofrecen un
menor tiempo de respuesta.

e) administracin (Serrat Morros, 2013). Hadoop es un proyecto muy grande y


muy ambicioso que a veces puede parecer un poco catico y complicado de
entender y administrar. Por eso mismo han salido varias aplicaciones con el
objetivo de facilitar no solo la administracin sino tambin el uso y la
monitorizacin de los sistemas Hadoop.
3.8. HADOOP

La librera de software Apache Hadoop es un framework que permite el procesamiento


distribuido de grandes conjuntos de datos a travs de grupos de ordenadores que utilizan
modelos de programacin simples. Est diseado para pasar de los servidores
individuales de miles de mquinas, cada una con computacin y el almacenamiento
local. En lugar de confiar en el hardware para ofrecer alta disponibilidad, la librera en
s est diseada para detectar y manejar los errores en la capa de aplicacin, por lo que
la entrega de un servicio de alta disponibilidad en la parte superior de clster de
computadoras, cada uno de los cuales puede ser propenso a errores. (Hadoop).

La potencia real de Hadoop radica en lo siguiente: Hadoop puede manejar todos los
tipos de datos de sistemas diferentes: estructurada, no estructurada, archivos log,
imgenes, archivos de audio, los registros de comunicaciones el correo electrnico casi
cualquier cosa que se pueda imaginar, con independencia de su formato nativo. Aun
cuando los diferentes tipos de datos se han almacenado en los sistemas no relacionados,
se puede volcar todo en el clster Hadoop sin necesidad previa de un esquema. En otras
palabras, usted no necesita saber cmo se va a consultar sus datos antes de guardarlo;
Hadoop permite decidir ms tarde y con el tiempo puede revelar cuestiones que ni
siquiera se le ocurri preguntar (Cloudera I. , 2013). Es por esto que esta herramienta
se ha convertido en la implementacin ms popular de utilizacin para procesamiento
de largos volmenes de datos utilizando MapReduce con el mismo. Tiene varias
aplicaciones diferentes, pero uno de los principales casos de uso es para grandes
volmenes de datos en constante cambio, como los datos basados en la localizacin de
clima o el trfico de datos de los sensores, los medios de comunicacin basados en la
web o sociales, o los datos transaccionales de mquina a mquina .

En resumen, Hadoop es un sistema distribuido usando una arquitectura Master-Slave,


usando para almacenar su Hadoop Distributed File System (HDFS) y algoritmos de
MapReduce para hacer clculos.

Arquitectura Principal

HDFS: Es el sistema de almacenamiento, es un sistema de ficheros distribuido. Fue


creado a partir del Google File System (GFS). HDFS se encuentra optimizado para
grandes flujos y trabajar con ficheros grandes en sus lecturas y escrituras. Su diseo
reduce la E/S en la red. La escalabilidad y disponibilidad son otras de sus claves,
gracias a la replicacin de los datos y tolerancia a los fallos. Los elementos
importantes del clster son:
NameNode: Solo hay uno en el clster. Regula el acceso a los ficheros por
parte de los clientes. Mantiene en memoria la metadata del sistema de
ficheros y control de los bloques del fichero que tiene cada DataNode.
DataNode: Son los responsables de leer y escribir las peticiones de los
clientes. Los ficheros estn formados por bloques, estos se encuentran
replicados en diferentes nodos.

Figura 12. Esquema de funcionamiento de Hadoop.

MapReduce: Es un modelo de programacin introducido por Google y que en su


evolucin han participado decenas de colaboradores, apareciendo multitudes de
implementaciones. De entre todas esas implementaciones destaca especialmente
Hadoop, un proyecto de Apache para proporcionar una base slida a las
arquitecturas y herramientas Big Data. (Wikipedia, 2016).
Un programa en MapReduce se suele conocer como Job, la ejecucin del Job
comienza cuando el cliente manda la configuracin del Job al JobTracker, esta
configuracin especifica las funciones Map, Combine y Reduce, adems de la
entrada y salida de datos.
El objetivo de MapReduce es el de mejorar el procesamiento de grandes volmenes
de datos en sistemas distribuidos y est especialmente pensado para tratar ficheros
de gran tamao -del orden de gigabytes y terabytes-. Tambin mejora el tratamiento
de los datos no estructurados, ya que trabaja a nivel de sistema de ficheros.
El nombre viene dado por la arquitectura del modelo, dividida principalmente en
dos fases que se ejecutan en una infraestructura formada por varios nodos, formando
un sistema distribuido, y que procede de la siguiente manera: (Serrat Morros, 2013)
Map: uno de los nodos, con el rango de master, se encarga de dividir los datos
de entrada (uno o varios ficheros de gran tamao) en varios bloques a ser
tratados en paralelo por los nodos de tipo worker map. Cada bloque es
procesado independientemente del resto por un proceso que ejecuta una funcin
map. Esta funcin tiene el objetivo de realizar el procesamiento de los datos y
dejar los resultados en una lista de pares clave-valor (es decir, se encarga de
mapear los datos).

Reduce: los nodos worker de tipo reduce ejecutan una funcin reduce que recibe
como entrada una de las claves generadas en la etapa de map junto con una lista
de los valores correspondientes a esa clave. Como salida genera una lista
resultante de una funcin con los valores recibidos. La unin de los resultados
puede corresponder a cualquier tipo de funcin (agregacin, suma, mximo,
etc.).

Entre las fases de map y reduce hay una etapa intermedia llamada agregacin, cuyo
objetivo es el de agregar y ordenar las salidas de los distintos maps para que en la etapa
de reduce se reciba solo la estructura del tipo clave-valores comentada. Un ejemplo
sencillo de un proceso MapReduce.

3.9. Arquitectura mixta. (Serrat Morros, 2013)

Un sistema MapReduce es ms adecuado para un problema Big Data que una


arquitectura MPP (Massively Parallel Processor), todo depende del caso de uso al que
se haga frente. En realidad ambos paradigmas ofrecen debilidades: MapReduce no tiene
la velocidad de un sistema de bases de datos relacional y las MPP no se adaptan tan bien
a los datos no estructurados, adems de no tener una escalabilidad demasiado fuerte.
En realidad, los puntos fuertes de ambos paradigmas se complementan muy bien y las
soluciones que han aparecido los ltimos meses han sabido aprovechar esta
complementacin, creando sistemas mixtos con ambas tecnologas implementadas.

La idea de una arquitectura mixta es la de usar un sistema de almacenamiento


distribuido junto a MapReduce para procesar y analizar grandes cantidades de datos no
estructurados, guardando los resultados de este anlisis en arquitecturas MPP, que
ofrecen una alta velocidad en la consulta de datos ya estructurados y de menor volumen,
como sera la informacin previamente procesada por MapReduce.

De esta forma se consigue un sistema que acepta un gran volumen de datos, ya sean
estructurados o no, con una buena capacidad para su procesamiento y una alta velocidad
en la visualizacin.

Figura 13: Arquitectura mixta formada por una solucin MapReduce para procesar y
filtrar datos no estructurados y una solucin.

Herramientas Hadoop

a) AVRO. Avro es un sistema para la serializacin de datos y uno de los


principales mtodos para transportar informacin entre las herramientas y
aplicaciones Hadoop. Entre otras caractersticas, Avro provee a las aplicaciones
que la utilizan de un formato de serializacin binario, compacto y de rpido
transporte siendo compatible con estructuras de datos complejas; un mtodo
para escribir datos de forma persistente a travs de ficheros; y la implementacin
del protocolo RPC (Remote Procedure Call), para la comunicacin entre
ordenadores con una arquitectura maestro-esclavo. Las libreras que ofrece Avro
son de uso muy sencillo ya que no requieren de generacin de cdigo ya sea
para leer o escribir datos o para usar una comunicacin de tipo RPC. El
funcionamiento de Avro es muy sencillo, al serializar datos Avro crea un
esquema JSON (Figura 19) que lo acompaar durante todo el trayecto. De
esta manera cuando estos datos sean ledos, la aplicacin destino tendr toda la
informacin necesaria para interpretar los datos que le llegan. Esto hace a Avro
totalmente compatible con lenguajes dinmicos.

Figura 14: Ejemplo de un esquema JSON para un tipo de datos Usuario con 3
valores.
b) ZOOKEEPER. ZooKeeper es un servicio centralizado que se encarga de
administrar y gestionar la coordinacin entre procesos en sistemas distribuidos.
El objetivo de Apache con ZooKeeper es el de librar a los desarrolladores la
tarea de implementar funciones de mantenimiento entre sus procesos, como la
sincronizacin entre estos, y ofrecer alta disponibilidad a travs de servicios
redundantes. ZooKeeper permite la coordinacin de procesos a travs de un
espacio de nombres compartido de estructura jerrquica, parecido a un sistema
de ficheros, donde cada nodo recibe el nombre de znode. Los znodes son muy
parecidos a los de un sistema de ficheros normal y corriente, cuentan con un
path o camino con los elementos separados por la barra / y cada uno tiene un
padre que es el znode anterior -salvo la raz / que es su propio padre-. Los
znodes tampoco pueden ser eliminados si tienen hijos, tal y como pasa con los
sistemas de ficheros comunes.
Figura 15: Arquitectura del servicio ZooKeeper.
c) SOLR. Apache Solr es un motor de bsqueda basado en el Apache Lucene,
escrito en Java y que facilita a los programadores el desarrollo de aplicaciones
de bsqueda. Lucene ofrece indexacin de informacin, tecnologas para la
bsqueda as como correccin ortogrfica, resaltado y anlisis de informacin,
entre otras muchas caractersticas.
Una arquitectura tpica de SOLR sera la de la Figura 16. Se cuenta con un
servidor web, para que los usuarios puedan interactuar y realizar distintos tipos
de bsquedas -pginas de tiendas en lnea, por ejemplo-, con conexin directa
con SOLR y que consulta datos mediante este en Hadoop. El servidor web
puede ser una de las mquinas con servicios de Hadoop ejecutndose en l o un
servidor exclusivamente dedicado a servir peticiones de los usuarios.

Figura 16: Arquitectura de SOLR trabajando con Hadoop.


d) CHUKWA. Es una herramienta principalmente pensada para trabajar sobre logs y
realizar anlisis. Est construido por encima de HDFS y MapReduce, por lo que
hereda su escalabilidad y robustez. La principal motivacin a la hora de desarrollar
Chukwa fue precisamente que Hadoop no termina de trabajar bien con sistemas de
logs ya que est ms optimizado para trabajar con pocos ficheros de mayor tamao;
a contraposicin de los sistemas de logs, que son directorios con un gran nmero de
ficheros pequeos. Para cumplir con este propsito Chukwa ofrece un sistema
flexible para recolectar datos de forma distribuida y para realizar su procesamiento
que, a la vez, es adaptable a las nuevas tecnologas de almacenamiento que van
apareciendo (5.3. Almacenamiento).
e) FLUME. Es una herramienta distribuida para la recoleccin, agregacin y
transmisin de grandes volmenes de datos. Ofrece una arquitectura basada en la
transmisin de datos por streaming altamente flexible y configurable pero a la vez
simple. Al tener un origen de datos configurable, se adapta prcticamente a
cualquier tipo de situacin: monitorizacin de logs, descarga de informacin de
redes sociales o mensajes de correo electrnico, entre muchas otras. Los destinos de
los datos tambin son altamente configurables de manera que el uso de Flume no va
ligado exclusivamente con HDFS o incluso Hadoop. (Photobucket - SQL Server,
2015)

La arquitectura de Flume est basada en agentes, que son procesos encargados de


recolectar datos y enviarlos a su destino. A su vez, el flujo de datos viene
determinado por una unidad llamada evento que, como pasaba con los chunks de
Chukwa, est formado por datos y metadatos. Un agente tiene tres componentes
(Guide, 2010):

Figura 17: Componentes de un agente de flume.


Gracias a la flexibilidad de Flume, es posible interconectar varios agentes -por
ejemplo, usar un Avro Sink con un Avro Source- formando diversas
configuraciones que aaden nuevas caractersticas a una aplicacin.

Figura 18: Arquitectura que descarga informacin de las redes twiter, Facebook y
linkedln adems de leer ficheros de log.

En la Figura 18 vemos un ejemplo de interconexin de diversos agentes junto con


muchos clientes. En esta arquitectura se usa varios clientes para descargar
informacin de distintas fuentes de informacin -redes sociales y logs-. Los clientes
envan los eventos ya formateados a dos agentes -uno para redes sociales y otro para
logs- para distribuir la carga y se usa un tercer agente a modo de colectar para juntar
todos los eventos y escribirlos finalmente en HDFS. Adems, se tiene un ltimo
agente para obtener alta disponibilidad en el agente de colector. Este agente est
activo, esperando eventos como los dems, pero los otros componentes de la
arquitectura slo le enviarn informacin cuando el agente activo se desconecte.
Otro ejemplo de arquitectura lo podemos observar en la Figura 17; en este caso el
agente que recibe datos de los clientes hace de balanceador de carga, repartiendo la
distribucin de datos entre otros dos agentes. Estos, adems, escriben mediante dos
sinks cada uno -para HDFS y para Hive-.
Figura 19: Arquitectura Flume que usan un agente para balancear la carga de datos
recibidos, los agentes finales escriben tanto en HDFS como en Hive.

Cassandra: Es una base de datos NoSQL, mayormente desarrollada por Datastax


aunque empez como un proyecto de Facebook, escrita en Java y open-source -
tambin es un proyecto Apache-. Entre sus caractersticas se encuentra la de ofrecer
alta disponibilidad de los datos junto con una gran capacidad para escalar
linealmente, adems de ser tolerante a fallos -no tiene un punto de fallo nico- y
compatible con hardware de bajo presupuesto o infraestructuras en la nube -cloud-.

Modelo de datos

Cassandra es una base de datos distribuida orientada a columnas -inspirada en


BigTable de Google y en Dynamo de Amazon-, pensada especialmente para datos
semi-estructurados (aunque tambin se puede adaptar a los estructurados y no
estructurados) y que contiene varios espacios de claves con el siguiente esquema:

Los espacios de claves estn formados por un nmero determinado de familias de


columnas -tambin conocidas como super columnas-.
Cada familia de columnas est identificada con una clave y tiene por valor un grupo
indeterminado de filas.
Cada fila, tambin identificada por una clave, tiene por valor distintas columnas
(que pueden aadirse dinmicamente y por lo tanto no hay un nmero definido de
columnas). Las columnas de cada fila son independientes de las que haya en las
otras filas.
Cada columna es una tupla {nombre, valor, timestamp}. Cada vez que se modifica
un valor tambin se cambia el timestamp, por lo que se puede hacer un seguimiento
de los cambios de un valor.
Figura 20: Ejemplo de un espacio de nombres de Cassandra.

f) Hive: (Apache Hive, 2013)es una herramienta para data warehousing que facilita
la creacin, consulta y administracin de grandes volmenes de datos
distribuidos en forma de tablas relacionales. Cuenta con un lenguaje derivado de
SQL, llamado Hive QL, que permite realizar las consultar sobre los datos. Por
esta misma razn, se dice que Hive lleva las bases de datos relacionales a
Hadoop.
A su vez, Hive QL est construido sobre MapReduce, de manera que se
aprovecha de las caractersticas de ste para trabajar con grandes cantidades de
datos almacenados en Hadoop. Esto tambin provoca que Hive no ofrezca
respuestas en tiempo real.

La arquitectura de Hive se compone de los siguientes componentes: (Chen, 2011)

Interfaz de usuario: el mtodo de entrada del usuario para realizar las consultas.
Actualmente hay una interfaz de lnea de comandos y una interfaz web.
Driver: recibe las consultas y se encarga de implementar las sesiones, adems de
recibir tambin consultas va interfaces JDBC y ODBC.
Compilador: Parsea la consulta y realiza anlisis semnticos y otras
comprobaciones de lenguaje para generar un plan de ejecucin con la ayuda del
metastore.
Metastore: almacena toda la informacin -metadatos- de la estructura que
mantienen los datos dentro de Hive -es decir, tiene el esquema de las bases de
datos, tablas, particiones, etc.-.
Motores de ejecucin: se encargan de llevar a cabo el plan de ejecucin
realizado por el compilador.

Figura 21: Arquitectura de Hive elaborada en fases o etapas.

g) Mahout. Es una librera Java que contiene bsicamente funciones de aprendizaje


y que est construida sobre MapReduce. (Mahout Apache, 2011) Al usar
MapReduce est pensada para trabajar con grandes volmenes de datos y en
sistemas distribuidos -aunque tambin est diseado para funcionar en sistemas
no Hadoop y no distribuidos (Apache Mahout cwiki, 2011)-. Otro de los
objetivos de Mahout es contar con el apoyo de la comunidad, para ir ofreciendo
cada da ms y ms funciones e ir depurando los errores que van surgiendo.
Actualmente est en continuo desarrollo pero cuenta con una base muy slida.
Actualmente Mahout da soporte a cuatro casos de uso:
Minera de recomendaciones: aprende a travs del comportamiento de los
usuarios qu es lo que les podra gustar.
Clustering: busca agrupaciones dado un conjunto de documentos para poder
diferenciarlos y clasificarlos.
Clasificacin: aprende de un grupo de documentos ya categorizados cmo
son los documentos pertenecientes de cada categora. De esta manera puede
clasificar en un nuevo documento.
Minera de tems frecuentes: dado un grupo de tems identifica cules son los
ms comunes en frecuencia de aparicin.
h) OOZIE. Oozie es un planificador de workflows para sistemas que realizan
trabajos o procesos Hadoop. Proporciona una interfaz de alto nivel para el
usuario no tcnico o no experto y que gracias a su abstraccin permite a estos
usuarios realizar flujos de trabajo complejos. (Oozie, 2013) Oozie funciona
como un motor de workflows a modo de servicio que permite lanzar, parar,
suspender, retomar y volver a ejecutar una serie de trabajos Hadoop -no
solamente MapReduce- basndose en ciertos criterios, como temporales o de
disponibilidad de datos. Los flujos de trabajo Oozie son grafos no cclicos
directos -tambin conocidos como DAGs- donde cada nodo es un trabajo o
accin con control de dependencia, es decir, que una accin no puede ejecutarse
a menos que la anterior haya terminado. Los flujos tienen dos tipos de nodos:
(Oozie Documentation, 2013).
Nodos de accin: ejecutan una tarea de procesamiento como un trabajo
MapReduce, Pig, una accin HDFS o incluso otro workflow de Oozie. Se
puede extender para que acepte otros tipos de acciones.
Nodos de control: definen el principio y el final de un flujo de trabajo -nodos
de start, fail y end- as como mecanismos para el flujo de ejecucin -nodos
de decisin, divisin y unin-.
Figura 22: Ejemplo de definicin de un workflow Oozie

Los flujos de datos estn escritos en un lenguaje similar a XML llamado hPDL, como el
de la Figura 22. En el ejemplo se define un workflow con el estado inicial start, que
pasa a un nodo de accin de nombre wordcount. Al nodo de accin se le indica que es
un MapReduce y cul es la clase Java que realizar la tarea de Mapper y cual la de
Reducer, as como la entrada y salida del proceso. Finalmente se le indica que si el
resultado es correcto vaya al nodo de control llamado end y si se produce algn error
vaya a kill, que mandar un mensaje con el cdigo de error.

Figura 23: Grafo de workflow definido en el ejemplo de la figura 20.


i) PIG. Es una herramienta para analizar grandes volmenes de datos mediante un
lenguaje de alto nivel -PigLatin- que est diseado para la paralelizacin del
trabajo. Mediante un compilador se traducen las sentencias en PigLatin a
trabajos MapReduce sin que el usuario tenga que pasar a programar ni tener
conocimientos sobre ellos. As pues PigLatin es un lenguaje fcil de programar
ya que se trata de un lenguaje textual y convierte las paralelizaciones en
dataflows o flujos de datos, conceptos ms sencillos para los usuarios no
expertos o sin conocimiento en el mundo de la paralelizacin. Adems tambin
se encarga de optimizar de manera automtica los programas escritos por el
usuario, respetando la coherencia de los datos, antes de traducirlos a trabajos
MapReduce. Adicionalmente, tambin permite la creacin de funciones por
parte del usuario para realizar procesamientos de propsito especial y que no se
incluya en las operaciones bsicas de PigLatin. (Apache Pig, 2013)

Obviamente Pig puede ejecutarse tanto en clsteres Hadoop -modo MapReduce-


o en servidores sin una instalacin Hadoop, es decir, sin ningn tipo de sistema
distribuido -modo local-. Adicionalmente tiene dos modos para trabajar:

Modo interactivo: se trabaja en un terminal grunt -una lnea de comandos- y


permite lanzar los comandos y sentencias una a una y de manera interactiva.
Se lanza mediante el comando pig en una lnea de comandos y con el
argumento -x se le indica si se quiere lanzar en modo local o mapreduce.
Modo batch: si se le pasa por argumento al comando pig un fichero de
script, se ejecutar el dataflow que contenga el fichero. Tambin acepta
modo local y mapreduce.
j) HUE. Hue es una herramienta que proporciona a los usuarios y administradores
de las distribuciones Hadoop una interfaz web para poder trabajar y administrar
las distintas herramientas instaladas. De esta manera Hue ofrece una serie de
editores grficos, visualizacin de datos y navegadores para que los usuarios
menos tcnicos puedan usar Hadoop sin mayores problemas. Hue es una
herramienta principalmente desarrollada por Cloudera -6.1. Cloudera-, razn por
la que cuenta con algunas caractersticas de su distribucin, como un editor para
Impala.
k) CLOUDERA. Cloudera es una empresa americana fundada el ao 2008 por los
creadores y parte del equipo original del proyecto Hadoop. Se dedica
nicamente a ofrecer soluciones Hadoop para Big Data y es una de las
compaas lderes y punteras en este campo. Aparte de las soluciones Big Data,
Cloudera tambin se dedica a ofrecer soporte para sus productos y cuentan con
un sistema de entrenamiento y certificaciones profesionales llamado Cloudera
University.

Es una de las compaas clave en el desarrollo de Hadoop, desarrollando nuevas


herramientas open-source y colaborando en el desarrollo continuo de nuevas
versiones del ecosistema; ya sea activamente o apostando por las ltimas
versiones de esta.

Figura 24: Esquema de la arquitectura CDH (Cloudera, 2013).


CONCLUSIONES.

Como hemos visto, tanto la aplicacin del anlisis de datos a necesidades de negocio,
como la creacin de modelos predictivos a partir del uso de minera de datos, no son
ideas en absoluto recientes, y su prctica lleva desarrollndose desde hace dcadas. Lo
que s est claro es que la aparicin del Big Data ha supuesto un renovado impulso
durante la ltima dcada para la minera de datos y las diferentes tcnicas implicadas en
su puesta en prctica.

Debera quedar claro que no toda la minera de datos es Big Data, y deberamos
diferenciar si el problema a resolver requiere o no de esas tecnologas especficas para
procesar y analizar grandes cantidades de datos. Tambin puede resultar engaoso el
uso del adjetivo big y llevarnos a pensar que es nicamente el volumen de datos lo
que implica la necesidad de una tecnologa especial, cuando el uso o tipo de anlisis que
queramos realizar con esas cantidades masivas de datos es un factor mucho ms
determinante para descartar sistemas ms tradicionales para la gestin de los datos.

La sociedad genera una ingente cantidad de datos que se registran y se acumulan


continuamente, generando un enorme aumento de volumen, variedad y velocidad de
datos; la posibilidad de almacenarlos y analizarlos para extraer de ellos conclusiones
para tomar decisiones y/o planificar o predecir actuaciones, es el fenmeno big data.
Los datos que lo conforman son de diferentes tipos y proceden de fuentes diversas.

Esta metodologa permite disminuir atascos, planificar la demanda y el consumo de


energa, mejorar planes de emergencia, reorganizar la afluencia del sistema sanitario,
crear mapas de calor segn el consumo de cara a la planificacin turstica, sectores
como el transporte, la salud, las finanzas o el turismo pueden obtener valor de un
correcto anlisis de los datos, la metodologa de BIG DATA, ofreciendo as una
posibilidad de mejora en sus infraestructuras y en su nivel de negocio.
Referencias Bibliogrficas

Photobucket - SQL Server. (5 de Noviembre de 2015). Recuperado el 12 de Julio de 2016, de


http://i368.photobucket.com/albums/oo127/analitico_bucket/Img%20Soft/diagram-
sql2008-lg.gif.html
Abadi, D., & Madden, S. (2008). "Debunking another myth: Column-stores vs. vertical
partitioning", The database Column.
Apache Hive. (5 de Abril de 2013). The Apache Software Foundation. Obtenido de
https://cwiki.apache.org/confluence/display/Hive/Home
Apache Mahout cwiki. (2011). Overview of mahout. Obtenido de The Apache Software
Foundation: https://cwiki.apache.org/confluence/display/MAHOUT/Overview.
Apache Pig. (22 de Octubre de 2013). Welcome to Apache Pig. Obtenido de
http://pig.apache.org/
Cloudera. (5 de Abril de 2013). Cloudera Standard. Cloudera - Ask Bigger Questions. Obtenido
de http://www.cloudera.com/content/cloudera/en/products/cloudera-standard.html
Cloudera, I. (Enero de 2013). Hadoop and big data. Obtenido de
http://www.cloudera.com/content/cloudera/en/why-cloudera/hadoop-and-big-data.html
Couchbase. (s.f.). Why nosql. Recuperado el 25 de 06 de 2016, de
http://www.couchbase.com/why-nosql/nosql-database
Chen, C. (21 de Julio de 2011). The Apache Software Foundation. Obtenido de
https://cwiki.apache.org/confluence/display/Hive/Design
Gil, E., & Colomer, J. (s.f.). Health Big Data: invertir en los datos y en las organizaciones y no
solo en tecnologa. SEDISA siglo XXI.
Guide, C. A. (26 de Abril de 2010). Chukwa 0.4 Documentation. Recuperado el 10 de julio de
2016, de http://incubator.apache.org/chukwa/docs/r0.4.0/agent.html.
Hadoop. (s.f.). What is apache hadoop. Obtenido de http://hadoop.apache.org/
IBM. (15 de 10 de 2015). Cuatro dimensiones de Big Data. Recuperado el 10 de Julio de 2016,
de http://www-
05.ibm.com/services/es/gbs/consulting/pdf/El_uso_de_Big_Data_en_el_mundo_real.pd
f
Jara, J. (2014). Big Data & Web Intelligence. Asuncin - Paraguay: Universidad Catlica
"Nuestra Seora de la Asuncin".
Lpez Briega, R. E. (18 de Octubre de 2012). Hadoop, el elefante memorioso, NoSQL y la Big
Data. Recuperado el 09 de 07 de 2016, de
http://relopezbriega.com.ar/2012/tecnologia/hadoop-el-elefante-memorioso-nosql-y-la-
big-data/
Mahout Apache. (2011). The Apache Software Foundation. Recuperado el 12 de Julio de 2016,
de http://mahout.apache.org/
Mislej, E. (2015). Big Data. Recuperado el 8 de Julio de 2016, de http://www.7puentes.com/
Nio, M., & Illarramendi, A. (2016). entendiendo el big data: antecedentes, origen y desarrollo
posterior. DYNA, New Technologies, 2.
Oozie. (2013). Workflow Engine for Apache Hadoop. Obtenido de
http://oozie.apache.org/docs/4.0.0/index.html.
Oozie Documentation. (2013). Oozie Workflow Overview. Obtenido de
http://oozie.apache.org/docs/4.0.0/DG_Overview.html.
PowerData. (2013). Big Data. Recuperado el 6 de Julio de 2016, de http://blog.powerdata.es/el-
valor-de-la-gestion-de-datos
Serrat Morros, R. (2013). Big Data. Anlisis de herramientas y soluciones. Barcelona: Everis.
Taubin, G. (2013). Grandes Datos (Big Data), Simulacin y Visualizacin. Brown University, 1
- 13.
Wikipedia. (16 de Abril de 2016). MapReduce. Wikipedia - La enciclopedia libre. Recuperado
el 10 de Julio de 2016, de https://es.wikipedia.org/wiki/MapReduce

Das könnte Ihnen auch gefallen