SlideShare a Scribd company logo
1 of 51
Download to read offline
Introducción a
Contexto histórico
Big Data
Historia de Hadoop
¿Qué es Hadoop?
Ecosistema Hadoop
● Ambari: Simplificación de la gestión de Hadoop (Clústeres).
● Avro: Serialización de datos.
● Cassandra: Base de datos NoSQL distribuida.
● Chukwa: Análisis y recolección de Logs.
● HBase: Base de datos NoSQL Distribuida.
● Hive: Lenguaje de alto nivel similar a SQL que se traduce en tareas MapReduce.
● Mahout: Librería de aprendizaje automático y minería de datos.
● Pig: Lenguaje de alto nivel para generación de tareas MapReduce.
● Spark: Motor de cálculo general.
● Tez: Framework de programación de flujos de datos de carácter general.
● ZooKeeper: Servicio de coordinación distribuido de Hadoop.
● Oozie: Flujo de trabajo para tareas MapReduce
● Sqoop: Conectividad entre bases de datos tradicionales y Hadoop.
● Flume: Transferencia de datos entre los sistemas de empresa y Hadoop
Ecosistema Hadoop
Distribuciones Hadoop
Core Hadoop
Sistema de ficheros
distribuido auto gestionado
+
Sistema de computación distribuido
con tolerancia a errores y abstracción
de computación paralela
HDFS
HDFS
HDFS (Hadoop Distributed File System) es una
evolución de GFS (Google File System).
Es un sistema de archivos distribuido diseñada
para contener gran cantidad de datos y el
acceso concurrente a los mismos.
HDFS - Características
● Capacidad de almacenaje de grandes cantidades de
datos ( Terabytes o Petabytes)
● Fiabilidad en el almacenamiento en Cluster
● Posibilidad de leer los ficheros localmente
● Diseñada para lecturas intensas ( Penalización sobre la
búsqueda aleatoria)
● Operaciones
○ Lectura
○ Escritura
○ Borrado
○ Creación
HDFS - Funcionamiento
MapReduce
MapReduce
Estructura para ejecutar algoritmos altamente
paralelizables y distribuidos utilizando
ordenadores “básicos”
MapReduce
Origen del concepto de combinador Map y
Reduce de lenguajes de programación
funcional como Lisp.
Divide y vencerás
MapReduce
(k1
,v1
) Mapear (k2
,v2
)
(k2
,v2
) Ordenar (k2
,{v2
,v2
,...})
(k2
,{v2
,v2
,...}) Reducir (k3
,v3
)
MapReduce
MapReduce
Controlador
● Inicializa el trabajo MapReduce
● Define la configuración
● Enumera los componentes
● Monitoriza la ejecución
MapReduce
Datos de entrada
● Ubicación de los datos para el
trabajo
● HDSF
● HBase
● Otros
MapReduce
InputFormat
● Definición de cómo se leen y
dividen los datos.
● Definición de InputSplit
● Definición de número de tareas
Map
MapReduce
InputSplit
● Define la unidad de trabajo para
una tarea Map única
MapReduce
RecordReader
● Define un subconjunto de datos
para una tarea map
● Lee los datos desde el origen
● Convierte los datos en pares
clave / valor
MapReduce
Mapeador
● Ejecuta un algoritmo definido por
el usuario.
● Instancias JVM por tarea Map.
● Aislamiento de tareas
● Fiabilidad del resultado
dependiente únicamente de la
máquina local.
MapReduce
Partición
● Elección de dónde reducir cada
par clave / valor
MapReduce
Mezclar
● Las tareas Reduce trabajan
sobre la misma clave
● Aquí se desplazar las salidas de
las tareas Map a donde se
necesite
MapReduce
Ordenar
● Se reciben los pares clave / valor
Mezclados anteriormente y se
ordenan para pasarlos al
reductor
MapReduce
Reductor
● Ejecuta un algoritmo definido por
el usuario
● Recibe una clave y todos los
valores asociados
MapReduce
OutputFormat
● Define cómo se escribe la salida
del proceso MapReduce.
● Define la ubicación del
RecordWriter
● Definir los datos a devolver
MapReduce
RecordWriter
● Define cómo se escriben los
registros individuales de salida
MapReduce: Diagrama de Nodos
MapReduce - Ilustración
Elastic Map Reduce
Servicio Web de AWS (Amazon Web Services) para
implementar el MapReduce mediante Apache Hadoop.
Permite crear trabajos en Apache Hadoop que operan
sobre datos en Amazon S3 en instancias de Amazon EC2.
Elastic Map Reduce - Arquitectura
Resultados son almacenados en S3
Datos son obtenidos desde S3
Elastic Map Reduce - Streaming
Streaming consiste en analizar y aplicar MapReduce
mediante el uso de un Mapper (cuya función es Organizar)
y un Reducer (cuya función es Agregar).
Un Streaming job (tarea) es una tarea de Hadoop que
consiste de un Mapper y Reducer. Los Mapper y Reducer
pueden ser escritos en: Java, Ruby, PHP, Perl, Python, R,
Bash, C++..
Elastic Map Reduce - Streaming
1) Crear el stream job en la Consola de AWS.
2) Indicar parámetros del stream job
3) Configurar instancias EC2
4) Lanzar el job
5) Revisar ejecución
6) Revisar resultados
“Mapper”
#!/usr/bin/php
<?php
//sample mapper for hadoop streaming job
$word2count = array();
// input comes from STDIN (standard input)
while (($line = fgets(STDIN)) !== false) {
// remove leading and trailing whitespace and lowercase
$line = strtolower(trim($line));
// split the line into words while removing any empty string
$words = preg_split('/W/', $line, 0, PREG_SPLIT_NO_EMPTY);
// increase counters
foreach ($words as $word) {
$word2count[$word] += 1;
}
}
// write the results to STDOUT (standard output)
foreach ($word2count as $word => $count) {
// tab-delimited
echo "$wordt$countn";
}
?>
“Reducer”
#!/usr/bin/php
<?php
//reducer script for sample hadoop job
$word2count = array();
// input comes from STDIN
while (($line = fgets(STDIN)) !== false) {
// remove leading and trailing whitespace
$line = trim($line);
// parse the input we got from mapper.php
list($word, $count) = explode("t", $line);
// convert count (currently a string) to int
$count = intval($count);
// sum counts
if ($count > 0) $word2count[$word] += $count;
}
ksort($word2count); // sort the words alphabetically
// write the results to STDOUT (standard output)
foreach ($word2count as $word => $count) {
echo "$wordt$countn";
}
?>
Showtime
Vamos a lanzar 2 ejecuciones reales de EMR:
● Con 1 Nodo
● Con 2 Nodos
Aplicaciones de Hadoop
● Detección de fraude bancario.
● Análisis de Marketing en redes sociales
○ Twitter genera 12 TB de información al día
● Análisis de patrones de compra
○ Wallmart utilizaba en 2012 30.000 millones de sensores RFID
● Reconocimiento de patrones de tráfico para el desarrollo urbano
● Previsión de averías en aviones
○ El airbus A380 genera 640 TB de información por vuelo
● Transformación de datos grandes
● Aplicación de algoritmos de reconocimiento facial
○ En 2012, facebook publicó que se suben 250 millones de fotos al día.
● ...
Que no es hadoop
Una base de datos
Que no es hadoop
La solución a todos los problemas
Que no es hadoop
HDFS no es un sistema de
archivos POSIX completo
¿Donde aplicaríais Hadoop?
● Procesamiento paralelo
● Sistema de ficheros distribuido
● Heterogeneidad de fuentes
● Tamaño de las fuentes
● Dimensionamiento de las
infraestructuras
Casos de éxito - Análisis de Riesgos
Reto
Con la crisis de 2008, una importante entidad financiera quedó expuesta a la morosidad de los
clientes, era vital mejorar los análisis de riesgo.
Solución
● Creación de un cluster único con Hadoop ( Con petabytes de información)
● Cargo la información de todos los almacenes de datos de la entidad que disponían de una
visión específica del cliente
● Cargo información no estructurada
○ Chats
○ Correos al servicio de atención al cliente
○ Registros de los Call Center
○ Otros orígenes
● Capacidad para realizar un análisis completo de la situación de los clientes
Casos de éxito - Fuga de clientes
Reto
Una importante compañía de telecomunicaciones necesitaba entender porque perdía clientes,
para ello, necesitaba dar respuesta a las siguientes preguntas: ¿Eran clientes que se iban o
simplemente estaban negociando las condiciones? ¿Se iban a la competencia? ¿Se iban por
problemas en la cobertura? ¿Por los precios? ¿Por incidencias en los dispositivos? ¿Por otros
motivos?
Solución
● Creación de un cluster único con Hadoop
● Se combinaron las fuentes transaccionales tradicionales y las redes sociales
● Analizaron los registros de llamadas y crearon una red de contactos de los clientes
● Cruzaron esta información con los contactos de las fugas en las redes sociales y
concluyeron que cuando un cliente se iba de la compañía, sus contactos eran más
proclives a abandonar también.
● Cruzaron los mapas de cobertura con la ubicación de los cliente y dimensionan el impacto
de las incidencias de cobertura en la fuga de clientes
● Optimizaron la inversión en infraestructuras y el desarrollo de nuevos productos
Casos de éxito - Puntos de venta
Reto
Una importante empresa de Retail quería incorporar las nuevas fuentes de información
disponibles en los análisis ( Tiendas Online, Tiendas Offline, Redes Sociales…). Los sistemas
tradicionales son muy caros para almacenar datos complejos.
Solución
● Creación de un cluster único con Hadoop
● Cargaron 20 años de transacciones
● Utilizaron Hive para realizar algunos de los análisis que ejecutaban realizaban en el
almacén de datos, aunque extendiéndose a periodos mucho mayores.
● Redujeron los costes de infraestructura
● Incluyeron nuevos orígenes de datos (Canales de noticias, Redes Sociales, Twitter…)
Casos de éxito - Datos en bruto
Reto
Una importante agencia de viajes genera volúmenes de datos en bruto enormes que solo
podían almacenar unos días por el coste del almacén de datos.
Solución
● Creación de un cluster único con Hadoop
● Almacenarón toda la información a un coste muy inferior al guardarlas en el formato
original y comprimida
● Utilizaron Hive para analizar el comportamiento en la web de reservas.
● Consiguieron un mejor entendimiento de sus clientes y pudieron ofrecen mejores
productos aumentando la rentabilidad.
Nuestra experiencia en el
tratamiento del dato (BI y Big Data)
Gracias por la atención
Carlos Meseguer Gimenez
Director de desarrollo
Teralco Tecnologías Informáticas

More Related Content

What's hot

Hive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep DiveHive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep DiveDataWorks Summit
 
Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing DataWorks Summit
 
Hadoop Presentation - PPT
Hadoop Presentation - PPTHadoop Presentation - PPT
Hadoop Presentation - PPTAnand Pandey
 
Why ODS? The Role Of The ODS In Today’s BI World And How Oracle Technology H...
Why ODS?  The Role Of The ODS In Today’s BI World And How Oracle Technology H...Why ODS?  The Role Of The ODS In Today’s BI World And How Oracle Technology H...
Why ODS? The Role Of The ODS In Today’s BI World And How Oracle Technology H...C. Scyphers
 
Apache Tez - Accelerating Hadoop Data Processing
Apache Tez - Accelerating Hadoop Data ProcessingApache Tez - Accelerating Hadoop Data Processing
Apache Tez - Accelerating Hadoop Data Processinghitesh1892
 
HADOOP TECHNOLOGY ppt
HADOOP  TECHNOLOGY pptHADOOP  TECHNOLOGY ppt
HADOOP TECHNOLOGY pptsravya raju
 
Building a modern data warehouse
Building a modern data warehouseBuilding a modern data warehouse
Building a modern data warehouseJames Serra
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoopjoelcrabb
 
Introducción a Big Data. HDInsight - Webcast Technet SolidQ
Introducción a Big Data. HDInsight - Webcast Technet SolidQIntroducción a Big Data. HDInsight - Webcast Technet SolidQ
Introducción a Big Data. HDInsight - Webcast Technet SolidQSolidQ
 
Big Data, Big Customer Value, Big Results
Big Data, Big Customer Value, Big ResultsBig Data, Big Customer Value, Big Results
Big Data, Big Customer Value, Big ResultsMundo Contact
 
Apache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data ProcessingApache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data ProcessingDataWorks Summit
 
Apache Spark Fundamentals
Apache Spark FundamentalsApache Spark Fundamentals
Apache Spark FundamentalsZahra Eskandari
 
Hadoop introduction , Why and What is Hadoop ?
Hadoop introduction , Why and What is  Hadoop ?Hadoop introduction , Why and What is  Hadoop ?
Hadoop introduction , Why and What is Hadoop ?sudhakara st
 
Big Data Analytics with Hadoop
Big Data Analytics with HadoopBig Data Analytics with Hadoop
Big Data Analytics with HadoopPhilippe Julio
 
Processing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeekProcessing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeekVenkata Naga Ravi
 
Hadoop Backup and Disaster Recovery
Hadoop Backup and Disaster RecoveryHadoop Backup and Disaster Recovery
Hadoop Backup and Disaster RecoveryCloudera, Inc.
 
Learn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive GuideLearn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive GuideWhizlabs
 

What's hot (20)

Hive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep DiveHive + Tez: A Performance Deep Dive
Hive + Tez: A Performance Deep Dive
 
Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing Apache Tez: Accelerating Hadoop Query Processing
Apache Tez: Accelerating Hadoop Query Processing
 
Big data
Big dataBig data
Big data
 
Hadoop Presentation - PPT
Hadoop Presentation - PPTHadoop Presentation - PPT
Hadoop Presentation - PPT
 
Big data
Big dataBig data
Big data
 
Why ODS? The Role Of The ODS In Today’s BI World And How Oracle Technology H...
Why ODS?  The Role Of The ODS In Today’s BI World And How Oracle Technology H...Why ODS?  The Role Of The ODS In Today’s BI World And How Oracle Technology H...
Why ODS? The Role Of The ODS In Today’s BI World And How Oracle Technology H...
 
Apache Tez - Accelerating Hadoop Data Processing
Apache Tez - Accelerating Hadoop Data ProcessingApache Tez - Accelerating Hadoop Data Processing
Apache Tez - Accelerating Hadoop Data Processing
 
HADOOP TECHNOLOGY ppt
HADOOP  TECHNOLOGY pptHADOOP  TECHNOLOGY ppt
HADOOP TECHNOLOGY ppt
 
Building a modern data warehouse
Building a modern data warehouseBuilding a modern data warehouse
Building a modern data warehouse
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
Introducción a Big Data. HDInsight - Webcast Technet SolidQ
Introducción a Big Data. HDInsight - Webcast Technet SolidQIntroducción a Big Data. HDInsight - Webcast Technet SolidQ
Introducción a Big Data. HDInsight - Webcast Technet SolidQ
 
Big Data, Big Customer Value, Big Results
Big Data, Big Customer Value, Big ResultsBig Data, Big Customer Value, Big Results
Big Data, Big Customer Value, Big Results
 
Apache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data ProcessingApache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data Processing
 
Apache Spark Fundamentals
Apache Spark FundamentalsApache Spark Fundamentals
Apache Spark Fundamentals
 
Hadoop introduction , Why and What is Hadoop ?
Hadoop introduction , Why and What is  Hadoop ?Hadoop introduction , Why and What is  Hadoop ?
Hadoop introduction , Why and What is Hadoop ?
 
Big Data Analytics with Hadoop
Big Data Analytics with HadoopBig Data Analytics with Hadoop
Big Data Analytics with Hadoop
 
Processing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeekProcessing Large Data with Apache Spark -- HasGeek
Processing Large Data with Apache Spark -- HasGeek
 
Hadoop Backup and Disaster Recovery
Hadoop Backup and Disaster RecoveryHadoop Backup and Disaster Recovery
Hadoop Backup and Disaster Recovery
 
Learn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive GuideLearn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive Guide
 
6.hive
6.hive6.hive
6.hive
 

Viewers also liked

Big data con Hadoop y SSIS 2016
Big data con Hadoop y SSIS 2016Big data con Hadoop y SSIS 2016
Big data con Hadoop y SSIS 2016Ángel Rayo
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
 
Hadoop: MapReduce para procesar grandes cantidades de datos
Hadoop: MapReduce para procesar grandes cantidades de datosHadoop: MapReduce para procesar grandes cantidades de datos
Hadoop: MapReduce para procesar grandes cantidades de datosRaul Ochoa
 
Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011Paradigma Digital
 

Viewers also liked (9)

Hadoop
HadoopHadoop
Hadoop
 
Introduccion apache hadoop
Introduccion apache hadoopIntroduccion apache hadoop
Introduccion apache hadoop
 
Big data con Hadoop y SSIS 2016
Big data con Hadoop y SSIS 2016Big data con Hadoop y SSIS 2016
Big data con Hadoop y SSIS 2016
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
 
Hadoop
HadoopHadoop
Hadoop
 
Hadoop: MapReduce para procesar grandes cantidades de datos
Hadoop: MapReduce para procesar grandes cantidades de datosHadoop: MapReduce para procesar grandes cantidades de datos
Hadoop: MapReduce para procesar grandes cantidades de datos
 
Hadoop en accion
Hadoop en accionHadoop en accion
Hadoop en accion
 
Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011
 
PPT on Hadoop
PPT on HadoopPPT on Hadoop
PPT on Hadoop
 

Similar to Introducción a hadoop

Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
An evening with... Apache hadoop Meetup
An evening with...  Apache hadoop MeetupAn evening with...  Apache hadoop Meetup
An evening with... Apache hadoop MeetupArkhotech
 
M04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdrussellmrr
 
Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Miguel Pastor
 
Introducción a polybase en SQL Server
Introducción a polybase en SQL ServerIntroducción a polybase en SQL Server
Introducción a polybase en SQL ServerEduardo Castro
 
Monta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IMonta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IUrko Zurutuza
 
Global Azure Bootcamp - Jorge Muchaypiña G.
Global Azure Bootcamp - Jorge Muchaypiña G.Global Azure Bootcamp - Jorge Muchaypiña G.
Global Azure Bootcamp - Jorge Muchaypiña G.jorge Muchaypiña
 
Polybase
PolybasePolybase
PolybaseSolidQ
 
Piensa en grande: Big data para programadores
Piensa en grande: Big data para programadoresPiensa en grande: Big data para programadores
Piensa en grande: Big data para programadoresRafael Bermúdez Míguez
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataSpanishPASSVC
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db.. ..
 
Big Data - Conceptos, herramientas y patrones
Big Data - Conceptos, herramientas y patronesBig Data - Conceptos, herramientas y patrones
Big Data - Conceptos, herramientas y patronesJuan José Domenech
 
Azure SQL DataLake - SQL Saturday Bogota
Azure SQL DataLake - SQL Saturday BogotaAzure SQL DataLake - SQL Saturday Bogota
Azure SQL DataLake - SQL Saturday Bogotajorge Muchaypiña
 
Construcción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónConstrucción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónLoja Valle de Tecnología
 

Similar to Introducción a hadoop (20)

Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
 
Hadoop en accion
Hadoop en accionHadoop en accion
Hadoop en accion
 
Big data, Hadoop, HDInsight
Big data, Hadoop, HDInsightBig data, Hadoop, HDInsight
Big data, Hadoop, HDInsight
 
An evening with... Apache hadoop Meetup
An evening with...  Apache hadoop MeetupAn evening with...  Apache hadoop Meetup
An evening with... Apache hadoop Meetup
 
M04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bd
 
Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Hadoop, Cloud y Spring
Hadoop, Cloud y Spring
 
Introducción a polybase en SQL Server
Introducción a polybase en SQL ServerIntroducción a polybase en SQL Server
Introducción a polybase en SQL Server
 
Monta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IMonta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión I
 
Global Azure Bootcamp - Jorge Muchaypiña G.
Global Azure Bootcamp - Jorge Muchaypiña G.Global Azure Bootcamp - Jorge Muchaypiña G.
Global Azure Bootcamp - Jorge Muchaypiña G.
 
Polybase
PolybasePolybase
Polybase
 
Piensa en grande: Big data para programadores
Piensa en grande: Big data para programadoresPiensa en grande: Big data para programadores
Piensa en grande: Big data para programadores
 
Programación Disribuida
Programación DisribuidaProgramación Disribuida
Programación Disribuida
 
Clase Hadoop
Clase HadoopClase Hadoop
Clase Hadoop
 
Big Data y Business Intelligence con Software Open Source
Big Data y Business Intelligence con Software Open SourceBig Data y Business Intelligence con Software Open Source
Big Data y Business Intelligence con Software Open Source
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big data
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db
 
Big Data - Conceptos, herramientas y patrones
Big Data - Conceptos, herramientas y patronesBig Data - Conceptos, herramientas y patrones
Big Data - Conceptos, herramientas y patrones
 
Azure SQL DataLake - SQL Saturday Bogota
Azure SQL DataLake - SQL Saturday BogotaAzure SQL DataLake - SQL Saturday Bogota
Azure SQL DataLake - SQL Saturday Bogota
 
Construcción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónConstrucción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-Distribución
 

Recently uploaded

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 

Recently uploaded (12)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Introducción a hadoop

  • 6. Ecosistema Hadoop ● Ambari: Simplificación de la gestión de Hadoop (Clústeres). ● Avro: Serialización de datos. ● Cassandra: Base de datos NoSQL distribuida. ● Chukwa: Análisis y recolección de Logs. ● HBase: Base de datos NoSQL Distribuida. ● Hive: Lenguaje de alto nivel similar a SQL que se traduce en tareas MapReduce. ● Mahout: Librería de aprendizaje automático y minería de datos. ● Pig: Lenguaje de alto nivel para generación de tareas MapReduce. ● Spark: Motor de cálculo general. ● Tez: Framework de programación de flujos de datos de carácter general. ● ZooKeeper: Servicio de coordinación distribuido de Hadoop. ● Oozie: Flujo de trabajo para tareas MapReduce ● Sqoop: Conectividad entre bases de datos tradicionales y Hadoop. ● Flume: Transferencia de datos entre los sistemas de empresa y Hadoop
  • 9. Core Hadoop Sistema de ficheros distribuido auto gestionado + Sistema de computación distribuido con tolerancia a errores y abstracción de computación paralela
  • 10. HDFS
  • 11. HDFS HDFS (Hadoop Distributed File System) es una evolución de GFS (Google File System). Es un sistema de archivos distribuido diseñada para contener gran cantidad de datos y el acceso concurrente a los mismos.
  • 12. HDFS - Características ● Capacidad de almacenaje de grandes cantidades de datos ( Terabytes o Petabytes) ● Fiabilidad en el almacenamiento en Cluster ● Posibilidad de leer los ficheros localmente ● Diseñada para lecturas intensas ( Penalización sobre la búsqueda aleatoria) ● Operaciones ○ Lectura ○ Escritura ○ Borrado ○ Creación
  • 15. MapReduce Estructura para ejecutar algoritmos altamente paralelizables y distribuidos utilizando ordenadores “básicos”
  • 16. MapReduce Origen del concepto de combinador Map y Reduce de lenguajes de programación funcional como Lisp. Divide y vencerás
  • 17. MapReduce (k1 ,v1 ) Mapear (k2 ,v2 ) (k2 ,v2 ) Ordenar (k2 ,{v2 ,v2 ,...}) (k2 ,{v2 ,v2 ,...}) Reducir (k3 ,v3 )
  • 19. MapReduce Controlador ● Inicializa el trabajo MapReduce ● Define la configuración ● Enumera los componentes ● Monitoriza la ejecución
  • 20. MapReduce Datos de entrada ● Ubicación de los datos para el trabajo ● HDSF ● HBase ● Otros
  • 21. MapReduce InputFormat ● Definición de cómo se leen y dividen los datos. ● Definición de InputSplit ● Definición de número de tareas Map
  • 22. MapReduce InputSplit ● Define la unidad de trabajo para una tarea Map única
  • 23. MapReduce RecordReader ● Define un subconjunto de datos para una tarea map ● Lee los datos desde el origen ● Convierte los datos en pares clave / valor
  • 24. MapReduce Mapeador ● Ejecuta un algoritmo definido por el usuario. ● Instancias JVM por tarea Map. ● Aislamiento de tareas ● Fiabilidad del resultado dependiente únicamente de la máquina local.
  • 25. MapReduce Partición ● Elección de dónde reducir cada par clave / valor
  • 26. MapReduce Mezclar ● Las tareas Reduce trabajan sobre la misma clave ● Aquí se desplazar las salidas de las tareas Map a donde se necesite
  • 27. MapReduce Ordenar ● Se reciben los pares clave / valor Mezclados anteriormente y se ordenan para pasarlos al reductor
  • 28. MapReduce Reductor ● Ejecuta un algoritmo definido por el usuario ● Recibe una clave y todos los valores asociados
  • 29. MapReduce OutputFormat ● Define cómo se escribe la salida del proceso MapReduce. ● Define la ubicación del RecordWriter ● Definir los datos a devolver
  • 30. MapReduce RecordWriter ● Define cómo se escriben los registros individuales de salida
  • 33.
  • 34. Elastic Map Reduce Servicio Web de AWS (Amazon Web Services) para implementar el MapReduce mediante Apache Hadoop. Permite crear trabajos en Apache Hadoop que operan sobre datos en Amazon S3 en instancias de Amazon EC2.
  • 35. Elastic Map Reduce - Arquitectura Resultados son almacenados en S3 Datos son obtenidos desde S3
  • 36. Elastic Map Reduce - Streaming Streaming consiste en analizar y aplicar MapReduce mediante el uso de un Mapper (cuya función es Organizar) y un Reducer (cuya función es Agregar). Un Streaming job (tarea) es una tarea de Hadoop que consiste de un Mapper y Reducer. Los Mapper y Reducer pueden ser escritos en: Java, Ruby, PHP, Perl, Python, R, Bash, C++..
  • 37. Elastic Map Reduce - Streaming 1) Crear el stream job en la Consola de AWS. 2) Indicar parámetros del stream job 3) Configurar instancias EC2 4) Lanzar el job 5) Revisar ejecución 6) Revisar resultados
  • 38. “Mapper” #!/usr/bin/php <?php //sample mapper for hadoop streaming job $word2count = array(); // input comes from STDIN (standard input) while (($line = fgets(STDIN)) !== false) { // remove leading and trailing whitespace and lowercase $line = strtolower(trim($line)); // split the line into words while removing any empty string $words = preg_split('/W/', $line, 0, PREG_SPLIT_NO_EMPTY); // increase counters foreach ($words as $word) { $word2count[$word] += 1; } } // write the results to STDOUT (standard output) foreach ($word2count as $word => $count) { // tab-delimited echo "$wordt$countn"; } ?>
  • 39. “Reducer” #!/usr/bin/php <?php //reducer script for sample hadoop job $word2count = array(); // input comes from STDIN while (($line = fgets(STDIN)) !== false) { // remove leading and trailing whitespace $line = trim($line); // parse the input we got from mapper.php list($word, $count) = explode("t", $line); // convert count (currently a string) to int $count = intval($count); // sum counts if ($count > 0) $word2count[$word] += $count; } ksort($word2count); // sort the words alphabetically // write the results to STDOUT (standard output) foreach ($word2count as $word => $count) { echo "$wordt$countn"; } ?>
  • 40. Showtime Vamos a lanzar 2 ejecuciones reales de EMR: ● Con 1 Nodo ● Con 2 Nodos
  • 41. Aplicaciones de Hadoop ● Detección de fraude bancario. ● Análisis de Marketing en redes sociales ○ Twitter genera 12 TB de información al día ● Análisis de patrones de compra ○ Wallmart utilizaba en 2012 30.000 millones de sensores RFID ● Reconocimiento de patrones de tráfico para el desarrollo urbano ● Previsión de averías en aviones ○ El airbus A380 genera 640 TB de información por vuelo ● Transformación de datos grandes ● Aplicación de algoritmos de reconocimiento facial ○ En 2012, facebook publicó que se suben 250 millones de fotos al día. ● ...
  • 42. Que no es hadoop Una base de datos
  • 43. Que no es hadoop La solución a todos los problemas
  • 44. Que no es hadoop HDFS no es un sistema de archivos POSIX completo
  • 45. ¿Donde aplicaríais Hadoop? ● Procesamiento paralelo ● Sistema de ficheros distribuido ● Heterogeneidad de fuentes ● Tamaño de las fuentes ● Dimensionamiento de las infraestructuras
  • 46. Casos de éxito - Análisis de Riesgos Reto Con la crisis de 2008, una importante entidad financiera quedó expuesta a la morosidad de los clientes, era vital mejorar los análisis de riesgo. Solución ● Creación de un cluster único con Hadoop ( Con petabytes de información) ● Cargo la información de todos los almacenes de datos de la entidad que disponían de una visión específica del cliente ● Cargo información no estructurada ○ Chats ○ Correos al servicio de atención al cliente ○ Registros de los Call Center ○ Otros orígenes ● Capacidad para realizar un análisis completo de la situación de los clientes
  • 47. Casos de éxito - Fuga de clientes Reto Una importante compañía de telecomunicaciones necesitaba entender porque perdía clientes, para ello, necesitaba dar respuesta a las siguientes preguntas: ¿Eran clientes que se iban o simplemente estaban negociando las condiciones? ¿Se iban a la competencia? ¿Se iban por problemas en la cobertura? ¿Por los precios? ¿Por incidencias en los dispositivos? ¿Por otros motivos? Solución ● Creación de un cluster único con Hadoop ● Se combinaron las fuentes transaccionales tradicionales y las redes sociales ● Analizaron los registros de llamadas y crearon una red de contactos de los clientes ● Cruzaron esta información con los contactos de las fugas en las redes sociales y concluyeron que cuando un cliente se iba de la compañía, sus contactos eran más proclives a abandonar también. ● Cruzaron los mapas de cobertura con la ubicación de los cliente y dimensionan el impacto de las incidencias de cobertura en la fuga de clientes ● Optimizaron la inversión en infraestructuras y el desarrollo de nuevos productos
  • 48. Casos de éxito - Puntos de venta Reto Una importante empresa de Retail quería incorporar las nuevas fuentes de información disponibles en los análisis ( Tiendas Online, Tiendas Offline, Redes Sociales…). Los sistemas tradicionales son muy caros para almacenar datos complejos. Solución ● Creación de un cluster único con Hadoop ● Cargaron 20 años de transacciones ● Utilizaron Hive para realizar algunos de los análisis que ejecutaban realizaban en el almacén de datos, aunque extendiéndose a periodos mucho mayores. ● Redujeron los costes de infraestructura ● Incluyeron nuevos orígenes de datos (Canales de noticias, Redes Sociales, Twitter…)
  • 49. Casos de éxito - Datos en bruto Reto Una importante agencia de viajes genera volúmenes de datos en bruto enormes que solo podían almacenar unos días por el coste del almacén de datos. Solución ● Creación de un cluster único con Hadoop ● Almacenarón toda la información a un coste muy inferior al guardarlas en el formato original y comprimida ● Utilizaron Hive para analizar el comportamiento en la web de reservas. ● Consiguieron un mejor entendimiento de sus clientes y pudieron ofrecen mejores productos aumentando la rentabilidad.
  • 50. Nuestra experiencia en el tratamiento del dato (BI y Big Data)
  • 51. Gracias por la atención Carlos Meseguer Gimenez Director de desarrollo Teralco Tecnologías Informáticas