Está en la página 1de 16

Unidad didáctica 5

Introducción al Big Data



Introducción al Big Data

Índice

Introducción y objetivos

1. Historia del Big Data


2. ¿Qué es?
3. Apache Hadoop y su ecosistema
4. MapReduce: el motor de Hadoop
5. Spark
5.1. ¿El sustituto de MapReduce?
5.2. Componentes de Spark
5.3. Formas de implementar Spark
6. MapReduce vs Spark
7. Big Data y problemas de rendimiento en una TELCO
7.1. Objetivos perseguidos
7.2. Explicación
7.3. Modelo de Fast Data

Resumen


Introducción al Big Data

INTRODUCCIÓN Y OBJETIVOS

“Sin datos, eres solo otra persona con una opinión”.

E. Edwards Deming

Big Data nace de la necesidad, no solo de tratar grandes cantidades de


información (debido al IoT), sino de la frecuencia con la que se quiere
analizar esas cantidades ingentes de datos (hasta entonces, procesamiento
paralelo).

Big Data es un paraguas tecnológico que recoge herramientas de


procesamiento, almacenamiento y gestión de grandes cantidades de datos
dispares en tiempos razonables y con una latencia óptima.

Importante

Recuerda que es un paradigma tecnológico que ampara diferentes


tecnologías y está orientado al almacenamiento y gestión de grandes
cantidades de datos o procesamientos de datos en semi – tiempo real.

Objetivos:

• Tener un conocimiento más claro de lo que se denomina Big Data.

• Conocer sus principales componentes, librerías y ecosistemas.

• Ser conscientes de las principales diferencias entre Apache Hadoop y


Apache Spark

1. HISTORIA DEL BIG DATA

1944:

El reconocimiento de Big Data fue identificado por Fremont Rider,


bibliotecario de la Universidad Wesleyan, quien estimó que las bibliotecas
en universidades estadounidenses se expandirían a más de 200.000.000 de
volúmenes para el 2040. Hoy, la Biblioteca de Yale tiene aproximadamente
12.5 millones de volúmenes en 20 edificios en el campus.


Introducción al Big Data

1949:

Claude Shannon, conocido como el "padre de la información", llevó a cabo


una investigación sobre la gran capacidad de almacenamiento en artículos
tales como tarjetas perforadas y datos fotográficos. Una de las más grandes
de la lista de Shannon fue la Biblioteca del Congreso, que midió más de 100
billones de bits de datos.

1961:

La investigación de Derek Price sobre el conocimiento científico concluyó


que las revistas científicas se habían duplicado cada 15 años. Esto ahora se
conoce mejor como "ley de aumento exponencial".

1971:

Arthur R. Miller, autor del libro "The Assault on Privacy", identificó que
"demasiados manejadores de información parecen medir a un hombre por
el número de bits de capacidad de almacenamiento que su expediente
ocupará".

1975:

El Ministerio de Correos y Telecomunicaciones de Japón comenzó a realizar


el Censo de Flujo de Información, que registra el volumen de información
que circula en Japón. El censo introduce la "cantidad de palabras" como la
unidad de medida unificada en todos los medios.

1981:

La Oficina Central de Estadísticas Húngara llevó a cabo un proyecto de


investigación que todavía está en curso. Esto involucra la contabilidad de la
información del país para las industrias a través de la medición del volumen
de datos en bits.

1983:

Ithiel de Sola Pool analizó las tendencias de crecimiento en 17 grandes


medios de comunicación entre 1960 y 1977, y concluyó que el flujo de
información había crecido exponencialmente en un 2,9% durante ese
período debido a la difusión y los medios.

1996:

El almacenamiento digital se volvió más rentable que el papel para


almacenar datos.


Introducción al Big Data

1997:

El término "big data" se usó por primera vez cuando los investigadores M.
Cox y D. Ellsworth escribieron un artículo que identifica que el aumento de
datos se está convirtiendo en un problema para los sistemas informáticos
actuales. En otras palabras, el "problema de los grandes datos".

2000:

Peter Lyman y Hal R. Varian publicaron el primer estudio que cuantificó, en


términos de almacenamiento informático, la cantidad total de información
nueva y original creada en el mundo anualmente. El estudio concluyó en
1999, año en que el mundo produjo aproximadamente 1,5 exabytes de
información única.

2001:

Doug Laney publicó una nota de investigación titulada "Gestión de datos


3D: control de volumen, velocidad y variedad de datos". Una década
después, estas "3 V" se convirtieron en las dimensiones definitorias de Big
Data.

2005:

"Qué es la Web 2.0" fue publicado por el escritor Tim O'Reilly, en él afirmó
que "los datos son la próxima inteligencia interna y SQL es el nuevo HTML.
La administración de bases de datos es una competencia central de las
compañías Web 2.0, tanto que, a veces, se han referido a estas aplicaciones
como ‘infoware’ en lugar de simplemente software".

2008:

Bret Swanson y George Gilder publicaron "Estimating the Exaflood", que


indicaba que el tráfico IP de EE.UU. podría alcanzar un zettabyte en 2015, y
el Internet de los EE.UU. de 2015 sería al menos 50 veces más grande de lo
que era en 2006.

2009:

Las investigaciones de Roger E. Bohn y James E. Short descubrieron que los


estadounidenses modernos consumían información durante un promedio de
casi 12 horas por día. El consumo totalizó 3,6 zettabytes y 10,845 trillones
de palabras, que corresponden a un promedio de 100,500 palabras y 34
goigabytes para una persona en un día.

2011:

Martin Hilbert y Priscila López estimaron que la capacidad mundial de


almacenamiento de información creció a una tasa de crecimiento anual
compuesto del 25% anual entre 1986 y 2007. También estimaron que en


Introducción al Big Data

1986, el 99.2% de toda la capacidad de almacenamiento era analógica,


pero por 2007, el 94% de la capacidad de almacenamiento fue digital.

2013:

Las empresas están comenzando a implementar nueva tecnología, como


SAP HANA, para analizar y optimizar cantidades masivas de datos. Las
empresas se están volviendo cada vez más dependientes de la utilización de
los datos como un activo empresarial para obtener una ventaja competitiva.

2. ¿QUÉ ES EL BIG DATA?

Dentro de las diferentes variedades de definiciones que se pueden encontrar


por Internet, estas son las más acertadas:

“Almacenamiento y procesamiento de grandes cantidades de datos


que sigan las famosas 3Vs del Big Data:

1. Variedad (de datos, estructurados o no estructurados).


2. Volumen (de datos, superior a 3TB se empieza a considerar Big
Data).
3. Velocidad (análisis de datos en tiempo real o tiempo semirreal).”

Nota

Estas son las Vs originales, pero con el paso del tiempo se ha ido viendo
que… ¡hacían falta más!

Tal y como indica el Instituto de Ingeniería del Conocimiento,


actualmente se habla de las 7 Vs del Big Data. A las tres originales se le
añadieron las siguientes:

4. Veracidad (nos referimos a la incertidumbre de los datos, es decir,


al grado de fiabilidad de la información recibida).
5. Viabilidad (la capacidad que tienen las compañías en generar un
uso eficaz del gran volumen de datos que manejan).
6. Visualización (al modo en el que los datos son presentados).
7. Valor (no tiene sentido analizar información que no proporciona
valor a nuestro negocio).

¿Qué relación tiene el Big Data y la analítica?:

Tal y como dice SAS, calificada como líder por Gartner Group en 2016 y por
Forrester en 2017:


Introducción al Big Data

“Big Data es un término que describe el gran volumen de datos, tanto


estructurados como no estructurados, que inundan un negocio día a día.
Pero no es la cantidad de datos que es importante. Lo que importa es lo que
las organizaciones hacen con los datos. Los grandes datos se pueden
analizar para obtener ideas que conduzcan a mejores decisiones y
movimientos de negocios estratégicos.”

3. APACHE HADOOP Y SU ECOSISTEMA

Hadoop y su ecosistema es un conjunto de software que actúa como


framework para el almacenamiento, procesamiento y análisis de grandes
cantidades de datos.

CARACTERÍSTICAS:

• Distribuido.
• Escalable.
• Tolerante a fallos.
• OpenSource.

Este conjunto de aplicaciones se organiza en base a una serie de pilares:

Apache hadoop y su ecosistema


Introducción al Big Data

4. MAPREDUCE: EL MOTOR DE HADOOP

Permite, de una forma simple, paralelizar trabajo sobre los grandes


volúmenes de datos. Simplifica el procesamiento en paralelo,
abstrayéndonos de la complejidad que hay en los sistemas distribuidos.

Básicamente, las funciones Map transforman un conjunto de datos a un


número de pares key/value. Cada uno de estos elementos se encontrará
ordenado por su clave, y la función reduce es usada para combinar los
valores (con la misma clave) en un mismo resultado.

La ejecución de un Job empieza cuando el cliente manda la configuración


de Job al JobTracker, esta configuración especifica las funciones Map,
Combine (shuttle) y Reduce, además de la entrada y salida de los datos.

Ejemplo

Más información

Pero… ¿qué significa todo eso?

Básicamente que lo siguiente:


Introducción al Big Data

Explicación esquemática de MapReduce

5. SPARK
5.1. ¿El sustituto de MapReduce?

Está diseñado para ejecutarse por defecto en memoria, por lo que los
desarrolladores pueden escribir algoritmos iterativos sin escribir un conjunto
de resultados después de cada pasada. Esto permite un alto rendimiento en
la analítica avanzada mediante técnicas como la regresión logística.

CARACTERÍSTICAS:


Introducción al Big Data

1. Rapidez.
2. Real-Time.
3. Alta tolerancia.
4. Facilidad de uso.
5. Conectividad.

Esquema

Más información

Esquema-ejemplo


Introducción al Big Data

5. SPARK
5.2. Componentes de Spark

El término SPARK en inglés se suele usar para designar cualquier partícula


incandescente, y suele traducirse por chispa.

Spark SQL permite consultar datos estructurados dentro de programas


Spark utilizando SQL o la API de DataFrame. Introduce una nueva
abstracción de datos llamada SchemaRDD, que proporciona soporte para
datos estructurados y semiestructurados.

Spark Streaming aprovecha la capacidad de rápida programación de


núcleo para realizar análisis en streaming. Se ingiere datos en mini-lotes y
realiza RDD (conjuntos de datos distribuidos resilientes) transformando esos
mini-lotes de datos. Es lo que se conoce como “Real Time”.

MLlib (machine learning): biblioteca básica de Spark que proporciona


varias utilidades que ayudan en las tareas de aprendizaje automático.
Incluye utilidades que son adecuadas para: clasificación, regresión,
agrupación en clústeres, modelado de tema, comprobación de hipótesis y
cálculo de estadísticas de ejemplo (Java, Scala, Python, and R.).

GraphX unifica el ETL, el análisis exploratorio y el cálculo de gráficos


iterativos dentro de un solo sistema. Proporciona una API para expresar
computación gráfica que puede modelar los gráficos definidos por el usuario
mediante el uso de Pregel API de abstracción. También proporciona un
tiempo de ejecución optimizada para esta abstracción.


Introducción al Big Data

Spark Core es el motor de ejecución sobre el que todos los demás ejecutan
sus algoritmos. Soporta en memoria conjuntos de datos que hacen
referencia a la informática y en sistemas de almacenamiento externo.

5. SPARK
5.3. Formas de implementar Spark

El siguiente diagrama muestra tres formas de cómo Spark puede ser


construido con componentes de Hadoop:

Diagrama

Standalone. Se puede asignar de forma estática recursos en todos o un


subconjunto de máquinas en un clúster Haddop y ejecutar Spark junto con
Hadoop MR. El usuario puede ejecutar trabajos Spark arbitrarios en sus
datos HDFS. Su simplicidad hace de este el despliegue de elección para
muchos usuarios de Hadoop 1.x.

YARN. Los usuarios de Haddop que ya han implementado o están


planeando desplegar Hadoop Yarn pueden, simplemente, ejecutar Spark en
YARN sin necesidad de preinstalación o acceso administrativo. Esto permite
a los usuarios integrar fácilmente Spark en su pila Hadoop y aprovechar
toda la potencia de Spark, así como de otros componentes que funcionan
encima de Spark.

SIMR. Lanza los trabajos de Spark dentro de MapReduce. Con SIMR, los
usuarios pueden comenzar a experimentar con Spark y utilizar su Shell
después de descargarlo. Esto reduce enormemente la barrera de despliegue
y permite que, prácticamente, todos jueguen con Spark.


Introducción al Big Data

6. MAPREDUCE VS SPARK

MapReduce Spark
- Cada “Map Taks” vuelca los
datos en un par de clave-
valor. - La salida del Map es almacena
- La salida se almacena en un en la caché del buffer del SO.
buffer circular en vez de - El sistema operativo decidirá
escribir en el disco. si los datos pueden
- El tamaño del buffer circular permanecer en la caché del
ronda los 100 MB. Si el buffer buffer o, en caso de overflow,
circular ocupa un 80% de su pasarían a disco.
capacidad, los datos se pasan - Cada “map task” crea tantos
a disco, que se llaman “spill archivos “Spill Files” como el
files” (archivos derrame de número de reductores.
reproducción aleatoria). - Spark no fusiona y parte los
- En un nodo en particular, archivos “Spill Files” en un
cuando se ejecutan muchas gran archivo.
“Map Task” se crean muchos - Hasta 100x más rápido que
“Spill Files”. Hadoop fusiona MapR.
todos esos “Spill Files”, en un - Se ejecuta con datos de
nodo en particular, en un gran Hadoop y en sus clústeres
archivo que procede a ser existentes.
ordenado y particionado en
función del número de
reductores.

7. BIG DATA Y PROBLEMAS DE RENDIMIENTO EN UNA TELCO


7.1. Objetivos perseguidos

• Plantear una arquitectura unificada y escalable que siente las bases


de los Systems of Insights.

• Probar el stack de tecnologías propuestas en un entorno real, tanto


para los productos incluidos dentro del Common Core* de Big Data,
como los opcionales (Apache Ignite y Couchbase), verificando la
necesidad de su implementación..

• Garantizar los tiempos de respuesta del API CustomerView sobre la


vista 360º (aproximadamente 20-99 milisegundos).


Introducción al Big Data

• Mejorar los tiempos de actualización de información de la vista 360º


real time del cliente (< 4 segundos).

• Plantear unificación del modelo de datos alineado con las directrices


del cliente.

7. BIG DATA Y PROBLEMAS DE RENDIMIENTO EN UNA TELCO


7.2. Explicación

Arquitectura explicativa

A. Los pump Golden Gate se generan desde el entorno productivo del


cliente. Desde ahí, los datos se transmiten hacia la plataforma cluod
(Softlayer).

B. Los datos de Golden Gate se inyectan en Kafka una única vez, con
una única configuración multipropósito y agnóstica del caso de uso y
tecnología de procesamiento posterior. Estos nodos necesitan
conectividad con los entornos del cliente para el tráfico GG, estimada
en 20 Mbps sostenidos, con picos de hasta 50 Mbps.

C. Los componentes Fast Data reciben los datos directamente de Kafka,


que actúa como mediador hacia las diferentes tecnologías. En la PoC
propuesta por el proveedor, los datos serán recibidos y tratados por
Spark Streaming, que los enriquecerá utilizando Cassandra como
MFD, almacenado la Vista 360 resultante en una partición Cassandra
específica.

D. Los nodos Web utilizan dos servidores en condiciones normales. Para


las pruebas de stress se incluye un pool de 300 horas por mes para
consumo a demanda.


Introducción al Big Data

7. BIG DATA Y PROBLEMAS DE RENDIMIENTO EN UNA TELCO


7.3. Modelo de Fast Data

Modelo de Fast Data

1. Golden Gate (extracción de datos de sistemas origen) como CDC


para la extracción de datos productivos desde BSCS, Siebel 7, Kenan
y PeopleSoft.

2. Golden Gate for Big Data Adapter (extracción de datos de


sistemas origen) para inyectar la información CDC en Kafka.

3. Kafka (componente Fast Data/Big Data) como mecanismo de ingesta


y mediación de datos hacía la plataforma Fast Data.


Introducción al Big Data

4. Spark Streaming (componente Fast Data/Big Data) para el


tratamiento en tiempo real de los datos recibidos y determiner la
Vista 360º.

5. Cassandra (componente Fast Data/Big Data) como modelo Fast


Data para enriquecimiento de datos y Vista 360º.

6. SpringBoot (componente auxiliar a la PoC) para proporcionar acceso


HTTP a la Vista 360º.

7. Apache Jmeter (componente auxiliar a la PoC) para reproducir


peticiones HTTP productivas sobre la Vista 360º. ELK para el análisis
de latencia Fast Data. Cada dato debe ser tratado de forma
individual, en tiempo real y con baja latencia (pequeño retardo
temporal dentro de la red).

RESUMEN

En esta unidad hemos:

• Definido Big Data.

• Entendido las diferencias entre Big Data y el análisis de datos.

• Explicado las definiciones y funcionalidades de Hadoop y su


ecosistema.

• Explicado las definiciones y funcionalidades de Spark y su


ecosistema.

• Enumerado las diferencias entre Hadoop y Spark.

También podría gustarte