You are on page 1of 13

Big Data

Procesamiento de datos en la actualidad


Introducción

• Big Data hace referencia a conjuntos de datos o combinaciones de


conjuntos de datos cuyo tamaño (volumen), complejidad (variabilidad) y
velocidad de crecimiento (velocidad) dificultan su captura, gestión,
procesamiento o análisis mediante tecnologías y herramientas
convencionales, tales como bases de datos relacionales o estadísticas
convencionales, dentro del tiempo necesario para que sean útiles
BI Tradicional vs Big Data
Oportunidad
• La cantidad de datos crece alrededor nuestro
• El 70% de los datos es creado por individuos en vez de por empresas
• Big Data genera oportunidades laborales y de negocios en aumento
• Los datos no estructurados generan necesidad de procesamiento diferente a los
Actuales

¿Qué información se descubre con Big Data?


• Compañías de energía usan métricas de sensores en tiempo real para
mejorar el servicio a sus usuarios.
• Los sitios webs y programas de TV mejoran sus estrategias publicitarias en
base a datos demográficos y patrones de visualización.
• Se detectan fraudes obteniendo datos de distintas fuentes, incluyendo las
redes sociales.
• Análisis de logs de infraestructura para mejorar el tiempo de servicio y
performance.
• Análisis de sentimiento en redes sociales para detectar patrones de
consumo y mejorar los productos.
Arquitectura HADOOP para Big Data (I)
Arquitectura HADOOP para Big Data (II)
Arquitectura HADOOP para Big Data (III)
Hive
• Sistema de Datawarehouse para Hadoop que tiene la capacidad de agregar
grandes volúmenes de datos.
• Inicialmente desarrollada por Facebook y en la actualidad por otras
empresas entre ellas Netflix.
• Interfaz similar a SQL
• Incrementa la compresión de los datos almacenados para mejorar la
utilización del storage sin afectar la velocidad de acceso a los datos.
Pig
Lenguaje de tipo scripting que permite manipular los datos que se encuentran
en HFS en paralelo.
• Sintaxis intuitiva simplificando el desarrollo de los jobs MapReduce.
• Lenguaje de programación similar a java.
• Inicialmente desarrollado por Yahoo.
Hbase: Base de datos columnar que provee un rápido acceso a Big Data
• No tiene índices
• Particionamiento automático
• Escalamiento lineal y automático al agregar nodos
• Tolerante a fallos
Sqoop
Herramienta de linea de comandos para importar tablas, columnas, base de datos
completa al HFS o hacia el Datawarehouse
El resultado de análisis de MapReduce puede ser exportado a bases de datos
relacionales para luego ser consumida por otras herramientas.
ZooKeeper
Es un coordinador para mantener varias instancias y nodos de Hadoop en
sincronización y protegidos ante fallas
La coordinación es crucial para ser tolerante a fallas en un sistema distribuído
Pig – Pig Latin
Es una plataforma de alto nivel para crear programas MapReduce utilizados en
Hadoop. El lenguaje de esta plataforma es llamado Pig Latin. Pig Latin
abstrae la programación desde el lenguaje Java MapReduce en una notación
que hace de MapReduce programación de alto nivel, similar a la de SQL para
sistemas RDBMS. Pig Latin puede ser ampliado utilizando UDF (Funciones
Definidas por el Usuario) que el usuario puede escribir en Java, Python,
Javascript, Ruby o Groovy y luego llamar directamente desde el lenguaje.
Pig – Pig Latin (I)
Programa ejemplo de en PIG:
lineas_de_entrada = LOAD '/tmp/mi-copia-de-todas-las-paginas-en-internet' AS (linea:chararray);
-- Extrae las palabras de cada línea y las coloca en un tipo de dato "bolsa" de Pig,
-- a continuación aplana la bolsa para obtener una palabra en cada fila
palabras = FOREACH lineas_de_entrada GENERATE FLATTEN(TOKENIZE(linea)) AS palabra;
-- filtra las palabras que son sólo espacios en blanco
palabras_filtradas = FILTER palabras BY palabra MATCHES '\\w+';
-- crear un grupo para cada palabra
grupo_de_palabras = GROUP palabras_filtradas BY palabra;
-- contar las entradas en cada grupo
conteo_de_palabras = FOREACH grupo_de_palabras GENERATE COUNT(palabras_filtradas) AS conteo,
group AS palabra;
-- ordenar los registros por recuento
conteo_de_palabras_ordenado = ORDER conteo_de_palabras BY conteo DESC;
STORE conteo_de_palabras_ordenado INTO '/tmp/numero-de-palabras-en-internet';
Conclusión

El uso de Big Data ha ayudado a los investigadores a descubrir cosas que les podrían
haber tomado años en descubrir por sí mismos sin el uso de estas herramientas,
debido a la velocidad del análisis, es posible que el analista de datos pueda cambiar
sus ideas basándose en el resultado obtenido y re-trabajar el procedimiento una y otra
vez hasta encontrar el verdadero valor al que se está tratando de llegar.
Implementar una solución alrededor de Big Data implica de la integración de diversos
componentes y proyectos que en conjunto forman la arquitectura necesaria para
analizar grandes volúmenes de datos.