Beruflich Dokumente
Kultur Dokumente
HERRAMIENTAS ESPECIFICAS
DE BIG DATA
OBJETIVOS ............................................................................................... 2
CONTENIDO.............................................................................................. 2
1. INTRODUCCIÓN ................................................................................... 2
BIG DATA APLICADO A LA TOMA DE DECISIONES
Reservados todos los derechos. El contenido de esta documentación está protegido por la Ley que establece penas de prisión y/o multas,
además de las correspondientes indemnizaciones por daños y perjuicios, para quienes reprodujeren, plagiaren, distribuyeren o comunicaren
públicamente, en todo o en parte, una obra literaria, artística o científica, o su transformación, interpretación o ejecución artística fijada
en cualquier tipo de soporte o comunicada a través de cualquier medio sin la preceptiva autorización.
BIG DATA APLICADO A LA TOMA DE DECISIONES
OBJETIVOS
CONTENIDO
1. INTRODUCCIÓN
Una de las principales razones de las compañías para desarrollar o usar tecnologías
Big Data es la de mejorar sus procesos de negocios.
Los casos de uso en los que las empresas se están centrando actualmente para
generar nuevo conocimiento a través de recopilar, consolidar y analizar datos
son:
Uno de los casos de uso más comunes y que las nuevas tecnologías Big Data han
facilitado y mejorado su práctica es el de seguridad. Cada vez hay más empresas
que utilizan estas tecnologías para implementar soluciones para este campo, dado
el potencial y capacidad, todavía no medible suficientemente, del big data.
1. Recolección de datos.
2. Almacenamiento.
3. Procesamiento de datos.
4. Visualización.
1. Recolección de datos
• monitorización de sistemas.
En esta etapa, los datos pueden sufrir algún tipo de proceso o cambio si la
aplicación así lo requiere, por ejemplo el filtrado de información no
deseada o el formateo con el que se guardará finalmente en el sistema de
almacenamiento.
2. Almacenamiento
1. El sistema de ficheros
2. La base de datos.
3. Procesamiento de datos
4. Visualización
• MapReduce
4. MAPREDUCE
• Map: uno de los nodos, con el rango de “master”, se encarga de dividir los
datos de entrada (uno o varios ficheros de gran tamaño) en varios bloques a
ser tratados en paralelo por los nodos de tipo “worker map”.
• Reduce: los nodos worker de tipo reduce ejecutan una función 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 función con los valores recibidos. La unión de los
resultados puede corresponder a cualquier tipo de función (agregación, suma,
máximo, etc.).
Quizá (seguro que sí) se vea más claro con el siguiente esquema:
Entre las fases de map y reduce hay una etapa intermedia llamada agregación,
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.
Por el contrario, ofrece multitud de ventajas como el poder trabajar sobre cualquier
formato de datos (estructurados, semi-estructurados o no estructurados), no tener
requisitos de hardware elevados, ser escalable a nivel de tamaño de clúster y de
rendimiento (añadir o quitar un nodo es sencillo y afecta directamente a la
productividad del sistema) y funciona bien con grandes cantidades de datos ya
que trabaja en bloques independientes del tamaño.
El paradigma MPP intenta ofrecer una solución más tradicional a los problemas Big
Data. Cuando se habla de MPP en sistemas de explotación de la información se
hace referencia a la adaptación de las bases de datos relacionales a un sistema
distribuido.
De esta manera, el paradigma MPP sigue sin ser una buena solución para Big Data
desde los puntos de vista de la variedad y la variabilidad, pues requiere de datos
estructurados.
CLOUD
Esto hace que el precio sea más flexible ya que se paga únicamente lo que
se usa pero para aplicaciones que deban usarse durante un periodo de
tiempo bastante prolongado puede llegar a salir algo más costoso. Además,
se pierden los datos almacenados en cuanto se dejan de alquilar los
servidores.
Los puntos valorados en la comparativa entre los tipos de soluciones son los
que se deben de considerar importantes para la realización de un proyecto
de implantación e implementación.
• Flexibilidad.
• Escalabilidad.
• Experimentación.
Coste
Flexibilidad
Escalabilidad
Experimentación
Configuración
7. HADOOP
Actualmente hay cientos de empresas usando Hadoop para sus procesos tanto
internos como de servicios a clientes, y entre las más destacadas encontramos a:
• Microsoft.
• Facebook.
• Adobe.
• eBay.
• Google.
• IBM.
• Spotify.
• Twitter.
Está diseñado para ser escalable puesto que trabaja con almacenamiento y
procesamiento local (pero distribuido), de manera que funciona tanto para
clústeres de un solo nodo como para los que estén formados por miles.
Historia
Hadoop fue creado por Doug Cutting, que lo nombró así por el elefante de
juguete de su hijo. Fue desarrollado originalmente para apoyar la distribución
del proyecto de motor de búsqueda, denominado Nutch.
https://es.wikipedia.org/wiki/Nutch
Actualmente hay dos versiones de Hadoop 1.0 y 2.0 que están siendo usadas
por las distintas distribuciones. Ambas versiones tienen diferencias notables
en su arquitectura y el hecho de coexistir de momento, hasta que finalmente
desaparezca la primera versión, hace necesario su estudio.
• HDFS
• MapReduce
Todas estas características son invisibles para el usuario, ya que HDFS las
realiza sin que éste tenga que hacer nada.
Arquitectura HDFS
En resumen, los DataNode son los encargados de servir los datos que
contiene el nodo donde están activos mientras que el NameNode es el que
gestiona la coherencia del sistema de ficheros a través de los metadatos.
Namemode e integridad
Cada vez que HDFS se inicializa, el NameNode carga el estado del sistema
desde el fichero fsimage y realiza todos los cambios marcados en edits,
volviéndolo a dejar vacío. También se pueden crear checkpoints o puntos de
guardados para que el NameNode recupere un estado anterior mediante la
importación de los ficheros fsimage y edits.
• Interfaz web: el NameNode cuenta con una interfaz web (por defecto
está configurado para acceder desde la url:
namenode.hostname:50070) en la que permite consultar información
general del sistema, navegar por el los directorios, consultar los logs o
ver los ficheros y su lista de bloques.
• API Java: también se cuenta con una API de Java para crear
aplicaciones o procesos que trabajen directamente sobre HDFS.
AVRO
Las librerías que ofrece Avro son de uso muy sencillo ya que no requieren
de generación de código ya sea para leer o escribir datos.
Python, y muchos otros. Estas propiedades hacen que JSON sea un lenguaje
ideal para el intercambio de datos.
ZOOKEEPER
Además los datos que contiene cada znode así como los metadatos -
información del estado, configuración, localización…- está limitada para
asegurarse de que ZooKeeper no es usado como si se tratara de un sistema
de ficheros.
SOLR
Una arquitectura típica de Solr sería la formada por un servidor web, para
que los usuarios puedan interactuar y realizar distintos tipos de búsquedas,
páginas de tiendas en línea por ejemplo, con conexión directa con Solr y que
consulta datos mediante éste en Hadoop. El servidor web puede ser una de
las máquinas con servicios de Hadoop ejecutándose en él o un servidor
exclusivamente dedicado a servir peticiones de los usuarios.
CHUKWA
Para cumplir con este propósito 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 tecnologías de almacenamiento que van
apareciendo.
FLUME
• monitorización de logs
CASSANDRA
• Cada fila, también identificada por una clave, tiene por valor
distintas columnas (que pueden añadirse dinámicamente y por lo tanto
no hay un número definido de columnas). Las columnas de cada fila son
independientes de las que haya en las otras filas.
Este modelo de datos es propenso y es una de las razones para las que fue
diseñado, a tener los datos semi estructurados, lo que podría ser un buen
esquema para almacenar ficheros XML, HTML o JSON y que los datos estén
dispersos.
Esto significa que debido a la diferencia entre fila y fila, haya una
desproporción entre estas en el número de columnas. Cuando se crea el
espacio de claves, que en las bases de datos tradicionales podría equivaler
a una base de datos, también se debe establecer qué familias de columnas,
que podrían equivaler a las tablas, habrá en ese espacio.
HIVE
Por esta misma razón, 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 características de éste para trabajar con
grandes cantidades de datos almacenados en Hadoop.
MAHOUT
• Arboles de decisión
Por esto mismo, el usuario no tiene que implementar una sola línea de código
para hacer uso de esta herramienta.
OOZIE
3. Actividades de coordinación.
Los flujos de trabajo Oozie son grafos no cíclicos directos también conocidos
como DAGs donde cada nodo es un trabajo o acción con control de
dependencia, es decir, que una acción no puede ejecutarse a menos que la
anterior haya terminado.
Los flujos de datos están escritos en un lenguaje similar a XML llamado hPDL.
En el ejemplo se define un workflow con el estado inicial start, que pasa a
un nodo de acción de nombre wordcount.
PIG
Apache Pig es una plataforma creada por Yahoo! que nos abstrae y simplifica
el desarrollo de algoritmos MapReduce mediante una sintaxis parecida a SQL
llamada Pig Latin. Tiene dos modos de funcionamiento por si queremos
ejecutar sobre el cluster HDFS de Hadoop o en la máquina local
Las sentencias PigLatin son operaciones sencillas que reciben una relación,
es decir, una colección de datos, y producen otra colección (esto es cierto
salvo por las operaciones de lectura y escritura sobre un sistema de ficheros).
HUE
Entre las herramientas con las que Hue permite trabajar tenemos las
siguientes:
• User admin: para administrar los usuarios de Hue y grupos a los que
pertenecen.
Cloudera es una empresa americana fundada el año 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 compañías líderes
y punteras en este campo.
HAWQ
Base de datos relacional: es una base de datos que cumple con el modelo
relacional.
Byte: unidad de información digital formada por una secuencia de ocho bits
HashMap: es una colección de objetos sin orden que asocia valores a una
clave, formando parejas de tipo <clave - lista de valores>, donde cada valor
de la lista es procesado por una función hash y da como resultado la clave.
Script: archivo de texto plano que contiene una serie simples de comandos -
o códigos sencillos en lenguajes interpretados- cuyo objetivo es generalmente
el de realizar tareas de orquestación de procesos o monitorización.
Tail: proceso Unix que escribe por pantalla el final de un fichero. También
permite escribir un fichero en tiempo real a medida que va creciendo ideal
para la visualización de ficheros de logs.
Unix: sistema operativo desarrollado en 1969 y que forma parte del núcleo
de sistemas actuales como Linux o Mac OS X.