Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROFESSIONAL CERTIFICATE
(BDPC)
Fuente de Este Material
PROPRIETARY MATERIAL © 2017 The McGraw Hill Education, Inc. All rights reserved. No part of this PowerPoint slide may be displayed, reproduced or distributed in any form or by any means,
without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw Hill for their individual course preparation. If you are a
student using this PowerPoint slide, you are using it without permission.
3
Agenda
4
Capítulo 1 – Integridad de Big Data
Objetivos de Aprendizaje
6
Integridad
• Big Data es un término global que se refiere a datos extremadamente grandes, muy
rápidos, muy diversos y complejos que no se pueden administrar con las herramientas
de administración de datos tradicionales.
• Big Data incluye todo tipo de datos y ayuda a entregar la información correcta a la
persona adecuada, en la cantidad correcta y en el momento adecuado, para ayudar a
tomar las decisiones correctas.
• Big Data puede aprovecharse mediante el desarrollo de arquitecturas de datos
infinitamente escalables, totalmente flexibles y evolutivas, junto con el uso de máquinas
de computación rentables.
• El conocimiento potencial infinito incrustado en esta computadora cósmica de Big Data
puede ayudar a conectarse y disfrutar del apoyo de todas las leyes de la naturaleza.
7
Contexto de
Big Data
Dos Niveles de Big Data
9
CASELET: IBM Watson
10
Alcance de
Big Data
Las 4 V’s de Big Data
12
Volumen
13
Velocidad
• Big Data está siendo generado por billones de dispositivos y se comunica a la velocidad
de la luz, a través de Internet.
• Ingerir todos estos datos es como beber de una manguera contra incendios; no se tiene
ningún control sobre qué tan rápido vendrán los datos.
• La razón principal de la mayor velocidad de los datos es el aumento en la velocidad de
Internet. Las velocidades de Internet disponibles para hogares y oficinas ahora están
aumentando de 10MB / seg a 1GB / seg (100 veces más rápido). Cada vez más
personas obtienen acceso a Internet de alta velocidad en todo el mundo.
• Otra razón importante es la mayor variedad de fuentes, como dispositivos móviles que
pueden generar y comunicar datos desde cualquier lugar, en cualquier momento.
14
Variedad
• Big Data incluye todas las formas de datos, para todo tipo de funciones, de todas las
fuentes y dispositivos. Hay tres aspectos:
• Forma de datos: Los tipos de datos van desde números hasta texto, gráfico, mapa,
audio, video y otros. Algunos de estos tipos de datos son simples, mientras que
otros son muy complejos.
• Función de datos: Hay datos de conversaciones humanas, canciones y películas,
registros de transacciones comerciales, datos de rendimiento de máquinas y
operaciones, diseño de nuevos productos, archivos, etc.
• Fuente de datos: Comunicaciones humano-humano; comunicaciones humano-
máquina; y comunicaciones de máquina a máquina.
15
Veracidad
16
Aplicaciones de Big Data
17
Gestión de Big Data
18
Ecosistema de Big Data
Analizando Big Data
• Stream Processing, para estadísticas de alto nivel en tiempo real sobre los datos.
• Batch Processing, utilizando técnicas analíticas estándar para generar estadísticas.
• Binning Data, para reducir a menos categorías significativas.
20
Tablero en Tiempo Real
Desafíos Técnicos de Big Data
22
Desafíos Técnicos de Big Data
23
Desafíos Técnicos de Big Data
24
Desafíos Técnicos de Big Data
25
Resumen de Desafíos y Soluciones
Comparación de Tradicionales y
Big Data
Preguntas de Revisión
28
Ejercicio Práctico de
Liberty Stores: Paso B1
Liberty Stores Inc. es una cadena minorista global especializada que vende alimentos
orgánicos, ropa orgánica, productos para el bienestar y productos educativos a
ciudadanos ilustrados de LOHAS (Lifestyles of the Healthy and Sustainable) en todo el
mundo. La compañía tiene 20 años y está creciendo rápidamente. Ahora opera en 5
continentes, 50 países, 150 ciudades y tiene 500 tiendas. Vende 20000 productos y tiene
10000 empleados. La compañía tiene ingresos de más de $ 5 billones y tiene una
ganancia de aproximadamente 5 por ciento de sus ingresos. La Compañía presta especial
atención a las condiciones bajo las cuales los productos son cultivados y producidos.
Dona aproximadamente una quinta parte (20 por ciento) de sus ganancias antes de
impuestos de causas caritativas locales globales.
29
Capítulo 2 – Fuentes y Aplicaciones de Big Data
Objetivos de Aprendizaje
31
Ecosistema/Arquitectura de Big Data
Aplicación de Google Flu
Fuentes de Big Data Sources
34
Comunicaciones Entre Personas
35
Comunicaciones Entre
Personas y Máquinas
• Registros Web.
• Asistentes digitales.
• Registros de movimiento de teléfonos móviles.
• Dispositivos de ejercicios personales móviles.
36
Comunicaciones Máquina
a Máquina
• Sensores y rastreadores.
• Dispositivos RFID.
• Internet de las cosas: Un trillón de dispositivos.
• Plataformas de escucha para filtrar y analizar.
37
Aplicaciones de Big Data
38
Monitoreo de Sensibilidad
del Consumidor
Monitoreo de Sensibilidad
del Consumidor
Aplicaciones de Big Data
41
Aplicación de Vigilancia Predictiva
Aplicaciones de Big Data
43
Seguro de Automóvil Flexible
Preguntas de Revisión
1. ¿Cuáles son las principales fuentes de Big Data? Describe una fuente de cada tipo.
2. ¿Cuáles son los tres principales tipos de aplicaciones de Big Data? Describe dos
aplicaciones de cada tipo.
3. ¿Sería ético arrestar a alguien basándose en la predicción de un modelo de Big Data
de que esa persona pueda cometer un delito?
4. Una compañía de seguros de automóviles aprendió sobre los movimientos de una
persona en función del GPS instalado en el vehículo. ¿Sería ético usar eso como una
herramienta de vigilancia?
5. La investigación puede describir una aplicación de Big Data que tiene un rendimiento
comprobado de la inversión (ROI) para una organización.
45
Ejercicio Práctico de
Liberty Stores: Paso B2
46
Capítulo 3 – Arquitecturas de Big Data
Objetivos de Aprendizaje
48
Arquitectura de
Google Query
Ecosistema / Arquitectura de Big Data
Capas en Arquitectura
de Big Data
51
Arquitectura IBM Watson
Análisis en el contexto de Big Data DeepQA: La arquitectura subyacente a Watson
52
Arquitectura de Netflix
Arquitectura de
VMWare
Arquitectura de una Compañía
Meteorológica
Uso
• Lote eficiente + análisis de transmisión.
• Ciencia de datos de autoservicio.
• BI / Soporte de herramientas de visualización.
55
Arquitectura de Ticketmaster
Disponibilidad de datos de Ticketmaster
Si más datos únicos son el activo, entonces recolecta más de una manera que se pueda escalar.
• Un problema difícil con los datos en tiempo real es la idempotencia.
• La idempotencia de extremo a extremo es el santo grial de la disponibilidad de datos.
56
Arquitectura de LinkedIn
Arquitectura de PayPal
Ecosistema de Hadoop
Preguntas de Revisión
60
Ejercicio práctico de
Liberty Stores: Paso B3
Liberty desea construir una plataforma de escucha escalable y futurista para comprender
a sus clientes y otras partes interesadas.
61
Capítulo 4 – Computación Distribuida Utilizando
Hadoop
Objetivos de Aprendizaje
63
Ecosistema / Arquitectura de Big Data
Hadoop y MapReduce
Definidos
65
¿Por qué la computación
en Clúster?
66
Arquitectura de Hadoop:
Fragmentación de Datos
67
Arquitectura Maestro-Esclavo
• Un nodo es maestro, el resto son esclavos.
• Hay un NameNode. Realiza un seguimiento de los contenidos de todos los DataNodes.
• Cada nodo de Datos contiene fragmentos de datos.
68
Arquitectura de Lectura y Escritura
del Sistema de Archivos
Distribuidos Hadoop (HDFS)
Características de HDFS
• Todos los datos se almacenan en trozos de tamaño estándar. Típicamente 64MB pero
personalizable.
• Se realiza una copia de seguridad de todos los datos en dos o tres ubicaciones para
evitar fallas del servidor y del rack.
• Todos los datos relacionados se almacenan lo más cerca posible para garantizar un
procesamiento más rápido.
• Garantiza la integridad de los datos, que los datos una vez escritos no se destruyen.
• Funciona solo en el modelo Append. Se agregan nuevos datos al final del
almacenamiento existente. No hay actualizaciones de datos en su lugar.
• Esto garantiza la velocidad de almacenamiento y la integridad de los datos.
70
Instalando HDFS
71
Yet Another Resource
Negotiator (YARN)
• YARN (Por las siglas en inglés de “otro negociador de recursos”) es un sistema operativo
distribuido a gran escala para aplicaciones Big Data.
• Gestiona los recursos y supervisa las cargas de trabajo, en un entorno seguro multi-tenant,
al tiempo que garantiza una alta disponibilidad en múltiples clústeres de Hadoop.
• YARN es una plataforma común para ejecutar múltiples herramientas y aplicaciones, como
SQL interactivo (por ejemplo, Hive), transmisión en tiempo real (por ejemplo, Spark) y
procesamiento por lotes (MapReduce), etc.
72
Preguntas de Revisión
73
Capítulo 5 – Procesamiento Paralelo con
MapReduce
Objetivos de Aprendizaje
75
Arquitectura de Big Data
Arquitectura de MapReduce
77
Arquitectura Maestro-Esclavo en
MapReduce
• Un proceso es maestro, el resto son esclavos.
• Hay un JobTracker. Realiza un seguimiento de los contenidos de todos los
TaskTrackers.
• Cada TaskTracker realiza un seguimiento de los procesos en un nodo de cálculo.
78
Papel de MapReduce 2004
79
Papel de MapReduce 2004
80
Secuencia de MapReduce
81
MR Funciona como una
Secuencia de UNIX
82
Contador de Palabras
Usando MapReduce
Conteo de Palabras Usando
Proceso general de conteo de palabras de MapReduce MapReduce – Ejemplo 2
Seudo Código MapR
para Contador de Palabras
85
Ejemplo de Contador de Palabras
(Inglés): Myfile.txt
• Myfile: txt : We are going to a picnic near our house. Many of our friends are coming.
You are welcome to join us. We will have fun. (Traducción: Vamos a hacer un picnic
cerca de nuestra casa. Muchos de nuestros amigos van a venir. Te invitamos a unirte a
nosotros. Nos divertiremos).
• Divida en unos pocos segmentos iguales. Podría hacerse con cada oración como una
pieza de texto separada. Los cuatro segmentos se verán de la siguiente manera:
• Segment1: We are going to a picnic near our house.
• Segment2: Many of our friends are coming.
• Segment3: You are welcome to join us.
• Segment4: We will have fun.
• Por lo tanto, habrá 4 tareas Map, una para cada segmento de datos.
86
Resultados de Cada Segmento
Resultados Agrupados de Map
Operations
Resultados Luego de la Fase
de Reducción
Pig vs Hive
Lenguaje de Hive
Arquitectura de Lenguaje Pig
Preguntas de Revisión
93
Capítulo 6 – Bases de Datos NoSQL
Objetivos de Aprendizaje
95
Arquitectura de Big Data
Bases de Datos NoSQL
• Las bases de datos NoSQL son bases de datos de próxima generación que no son
relacionales en su diseño.
• NoSQL es útil cuando una empresa necesita acceder, analizar y utilizar cantidades
masivas de datos estructurados o no estructurados.
• Las limitaciones de una base de datos relacional se relajan de muchas maneras. Por lo
tanto, hay muchos tipos de bases de datos NoSQL.
• Los archivos de base de datos NoSQL se escriben una vez y casi nunca se actualizan en
su lugar.
97
NoSQL vs
RDBMS
Teorema CAP
99
Arquitectura NoSQL
Tipos de Bases de Datos NoSQL
101
Arquitecturas NoSQL Populares
• Maestro-Esclavo - HBase.
• Arquitectura de Anillo - Cassandra.
102
Procesos de Cassandra
Flujo de escritura de datos de Cassandra
Zona única, zona de disponibilidad múltiple
Si un nodo se desconecta, el
1. El cliente escribe en
cualquier nodo de traspaso insinuado completa
Cassandra. la escritura cuando el nodo
vuelve a subir.
2. El nodo coordinador se
replica en nodo y Las solicitudes pueden elegir
zonas. esperar un nodo, un quórum
3. Los nodos regresan al o todos los nodos para anotar
coordinador. la escritura.
4. El coordinador regresa Las grabaciones y
al cliente. compactaciones del disco
SSST ocurren de forma
5. Datos escritos en el
disco de registro asincrónica.
interno.
103
Lenguajes de Acceso
NoSQL - Hive
• Hive es un lenguaje declarativo similar a SQL para consultas. Es el más adecuado para
datos estructurados como el almacenado en HBase, un almacén de clave-valor.
• Columnas de datos de Hive se asignan a tablas en HDFS. Esta asignación se almacena
en metadatos.
104
Lenguajes de Acceso
NoSQL - Pig
• Pig es un lenguaje de
procedimiento de alto nivel.
Se usa principalmente para
programar usando un flujo
de datos paso a paso.
105
Preguntas de Revisión
1. ¿Qué es una base de datos NoSQL? ¿Cuáles son los diferentes tipos de esto?
2. ¿Cómo utiliza una base de datos NoSQL el poder de MapReduce?
3. ¿Cuáles son los diferentes tipos de bases de datos NoSQL? ¿Cuáles son las ventajas
de cada uno?
4. ¿Cuáles son las similitudes y diferencias entre Hive y Pig?
106
Capítulo 7 – Procesamiento Stream con Spark
Objetivos de Aprendizaje
108
Arquitectura de Big Data
Computación Definida
en Stream
110
Conceptos de Streaming
111
Aplicaciones de Streaming
112
Características del Algoritmo
de Streaming
113
Filtro Bloom
114
Apache Spark para Computación
Streaming
115
Apache Spark para Computación
Streaming
• Spark está escrito principalmente en Scala, un lenguaje de alto nivel. Las bibliotecas
incorporadas de Spark (para Aprendizaje Automático, Procesamiento de Gráficos,
Procesamiento de Flujo, SQL) ofrecen un procesamiento de datos rápido sin
interrupciones junto con una alta productividad del programador.
• Spark se ha convertido en una alternativa más eficiente y productiva para Hadoop. Es
compatible con los sistemas de archivos Hadoop y las herramientas.
116
Ecosistemas de
Código Abierto
Arquitectura de Apache Spark
Spark vs Hadoop
Spark vs Hadoop
Conjuntos de Datos Distribuidos
Resilientes de Spark (RDD)
121
Mecanismo de
Procesamiento Spark
Código de Spark para Pagerank
123
Preguntas de Revisión
124
Capítulo 8 – Nueva Ingestión de Datos
Objetivos de Aprendizaje
126
Arquitectura de Big Data
Sistema de Ingestión de Datos
128
Sistemas de Mensajería
• Sistema confiable y rápido para
conectar emisores y receptores de
mensajes.
• Sistemas punto a punto.
• Bien entendido.
• Ineficiente para grandes
volúmenes.
• Sistemas Publish-Subscribe.
• Los corredores navegan las
relaciones entre los productores
de datos y los consumidores.
• Altamente escalable y rápido.
• Apache Kafka es uno de esos
sistemas.
129
Arquitectura de Apache Kafka
Componentes de Kafka
• Productores.
• Consumidores.
• Corredores.
• Tópicos.
• Zookeeper – publica metadata.
131
Mecanismo de Tópicos de Kafka
• Los productores escriben datos secuencialmente a un conjunto de temas.
• Los datos se replican en 3 particiones.
• Los datos se almacenan durante siete días.
• Los consumidores pueden suscribirse a cualquier cantidad de temas.
• Los datos se consumen secuencialmente.
• El consumidor realiza un seguimiento de las compensaciones de lo lejos que ha leído.
• Los consumidores pueden leer desde cualquier partición.
132
Atributos Clave de Kafka
• Basado en disco: Kafka trabaja en un grupo de discos. No mantiene todo en la memoria
y sigue escribiendo en el disco para que el almacenamiento sea permanente.
• Tolerante a fallas: Los datos en Kafka se replican en varios intermediarios. Cuando un
intermediario líder falla, un corredor seguidor asume el liderazgo y todo continúa
funcionando normalmente.
• Escalable: Kafka puede escalar fácilmente agregando más particiones o más
intermediarios. Más agentes ayudan a distribuir la carga y esto proporciona un mayor
rendimiento.
• Baja latencia: Kafka procesa muy poco los datos. Por lo tanto, tiene una tasa de latencia
muy baja. Los mensajes producidos por el consumidor se publican y están disponibles
para el consumidor en unos pocos milisegundos.
• Retención finita: Kafka mantiene el mensaje en el clúster por defecto durante una
semana. Después de eso, el almacenamiento se actualiza. Por lo tanto, los consumidores
de datos tienen hasta una semana para ponerse al día con los datos.
133
Preguntas de Revisión
134
Capítulo 9 - Computación en la Nube
Objetivos de Aprendizaje
136
Arquitectura de Big Data
Computación en la Nube
138
Modelo de Acceso a la
Computación en la Nube
Computación en la Nube como
una Infraestructura Virtualizada
Beneficios de la
Computación en la Nube
141
Modelos de Computación en la
Nube – por Propiedad y
Rango de Servicios
• Nube Pública.
• Nube Privada.
• Nube Híbrida.
• Infraestructura como un servicio.
• Plataforma como servicio.
• Aplicación como servicio.
142
Preguntas de Revisión
143
Capítulo 10 – Aplicación de Análisis Web
Objetivos de Aprendizaje
145
Arquitectura de Web-Analyzer
Código de Aplicación
//calculates size of log, and provides min, max and average size
// caching is done for repeatedly used factors
def calcContentSize(log: RDD[AccessLogs]) = {
val size = log.map(log => log.contentSize).cache()
val average = size.reduce(_ + _) / size.count()
println("ContentSize:: Average :: " + average + " " +
" || Maximum :: " + size.max() + " || Minimum ::" + size.min() )
}
//Send all the response code with its frequency of occurrence as Output
def responseCodeCount(log: RDD[AccessLogs]) = {
val responseCount = log.map(log => (log.responseCode, 1))
.reduceByKey(_ + _)
.take(1000)
println(s"""ResponseCodes Count : ${responseCount.mkString("[", ",", "]")} """)
}
147
Tecnología
148
Preguntas de Revisión
149