Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de...

21

Transcript of Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de...

Page 1: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.
Page 2: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.
Page 3: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

Agenda

¿Qué es Big Data?¿Por qué usar Big Data?¿Quién usa Big Data?HadoopArquitectura de Hadoop

Page 4: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

Big Data¿Qué es Big Data?

Big Data es un concepto que se aplica a toda aquella información que no puede ser procesada o analizada usando procesos o herramientas convencionales debido al enorme volumen de datos sobre el cual hay que trabajar.

¿Por qué usar Big Data?

¿Quién usa Big Data?

Page 5: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

HadoopOpen Source

Desarrollado originalmente por Yahoo

Administrado por Apache Software Foundation

Diseñado para trabajar con petabytes de datos

Pensado para implementarse con hardware económico

Ofrece alta disponibilidad

Escala horizontalmente

Muchas tecnologías de desarrollo están basadas en Hadoop

Bueno aceptación en el mercado

Curva de aprendizaje elevada

No es una base de datos

No es real time

The Apache Hadoop software library is a frameworkthat allows for the distributed processing

of large data sets across clusters of computers using a simple programming model

Características Generales

Page 6: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

HadoopHadoop se compone por tres elementos principales

HDFSMapReduceHadoop Common

Componentes Principales

Page 7: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

HadoopCreado por Doug CuttingGoogle lo introdujo en 2004Consiste en la ejecución de dos procesos separados, Map y Reduce ParalelismoEscalabilidadTolerancia a fallosCurva de aprendizaje elevada

MapReduce

Page 8: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

HadoopRecibe como entrada un par (clave, valor) y recupera como salida uno o varios pares (clave-i, valor-i)

k1 v1

k2 v2

k1 v3

k3 v4

k1 v5

k2 v6

k3 v7

k1 v8

k4 v9

C1 vi1 Map

Map

Map

C2 vi2

C3 vi3

MapReduce - Map

Page 9: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

HadoopPara cada (clave1, valor1) de entrada recupera una lista de (clave2, valor2)

k1 v1

k2 v2

k1 v3

k3 v4

k1 v5

k2 v6

k3 v7

k1 v8

k4 v9

MEZCLARY

ORDENAR

k1 v1

k2 v2

k3 v4

k4 v9

v3 v5 v8

v6

v7

MapReduce - Map

Page 10: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

HadoopRecibe como entrada un par (clave, lista de valores) y recupera como salida un único par (clave, valor)

k1 v1

k2 v2

k3 v4

k4 v9

v3 v5 v8

v6

v7

k1 vf1

k2

k3

k4

vf2

vf3

vf4

Reduce

Reduce

Reduce

Reduce

MapReduce - Reduce

Page 11: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

HadoopEs un componente de Hadoop Lee y escribe sobre el sistema de archivos de Hadoop (HDFS)

JobTracker

TaskTracker TaskTracker TaskTracker

Input Job (Map, Reduce, Input)

Data transfer Data transfer

Assign Task Assign Task Assign Task

MapReduce - Arquitectura

Page 12: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

HadoopJobTracker: Planificador de tareas

Registra los trabajos pendientes

Asigna las tareas a los nodos

Mantiene los trabajos cerca de los nodos

Si falla el JobTracker los trabajos pendientes de ejecución se pierden

JobTracker

Input Job (Map, Reduce, Input)

Assign Task

MapReduce - Arquitectura

Page 13: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

HadoopTaskTracker

Se llaman TaskTrackers a los nodos

Atienden operaciones de Map y Reduce

Tienen slots asignados para Map y para Reduce

Controla las tareas en ejecución

Notifica al JobTracker acerca del estado del nodo y las tareas

Si un TaskTracker falla o se produce un timeout, esa parte del trabajo ese re planifica

TaskTracker TaskTrackerData transfer

Assign Task Assign Task

MapReduce - Arquitectura

Page 14: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

HadoopSignifica Hadoop Distributed File SystemEs el sistema de archivos por defecto de HadoopInspirado en GFSEstructurado en bloques (típicamente 64 MB o 128 MB por bloque)Rebalanceo de bloquesEscalabilidadDisponibilidadModelo de seguridad POSIX

HDFS

Page 15: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

Hadoop

NameNode

DataNode DataNode DataNode DataNode

Client

TCP/IPNetworking Metadata

Replicated data blocks

HDFS - Arquitectura

Page 16: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

Hadoop

NameNodeEs la pieza central del HDFS

Administra el almacenamiento de datos

No almacena datos en si mismo

Las operaciones de Entrada/Salida no pasan a través de él

Hace de intermediario entre el cliente y los DataNodes

Es un Single Point of Failure

HDFS - Arquitectura

Page 17: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

Hadoop

DataNodeCientos o miles de DataNodes por cluster

Organizados en racks

Operaciones de Entrada/Salida ocurren sobre el DataNode

Contienen información replicada

Alta tolerancia a fallas

HDFS - Arquitectura

Page 18: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

Hadoop

NameNode

JobTracker

DataNode

TaskTracker

DataNode

TaskTracker

DataNode

TaskTracker

Master

Slave Slave Slave

HDFS - Arquitectura

Page 19: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

HadoopPermite interactuar con el HDFS a través de CLIEj: $ hadoop fs –copyFromLocal miArchivo /miHDFSDir Algunos comandos son:

cat

copyFromLocal

copyToLocal

du

dus

cp

rmr

mkdir

HDFS - API

Page 20: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.

Hadoop ¿Quiénes usan Hadoop?

Page 21: Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de Hadoop.