PDF de programación - introducción al Manejo de datos masivos con Hadoop

Imágen de pdf introducción al Manejo de datos masivos con Hadoop

introducción al Manejo de datos masivos con Hadoopgráfica de visualizaciones

Publicado el 6 de Enero del 2019
1.190 visualizaciones desde el 6 de Enero del 2019
1,8 MB
26 paginas
Creado hace 8a (31/08/2015)
INTRODUCCIÓN AL MANEJO DE DATOS
MASIVOS CON HADOOP
PRÁCTICA DE LA ASIGNATURA SISTEMAS DE BASES DE DATOS

GRADO



2015-2016

Versión 1.0



Dr. Agustín C. Caminero Herráez — Dr. Luis Grau Fernández

GRADO EN INGENIERÍA INFORMÁTICA

INTRODUCCIÓN AL MANEJO DE DATOS MASIVOS CON HADOOP



CONTENIDO

2.1
2.2

3.1

4

1 ¿Qué son los datos masivos o Big Data? ................................................................... 2
Introducción a Hadoop ................................................................................................ 2
2
¿Qué es Hadoop? ................................................................................................. 2
Necesidad de Hadoop......................................................................................... 5
3 Hadoop y su estructura ................................................................................................ 7
Hadoop Distributed File System (HDFS) ............................................................... 8
3.1.1 Escrituras en HDFS .............................................................................................. 8
3.1.2 Lecturas en HDFS ............................................................................................. 10
3.2 MapReduce ......................................................................................................... 11
3.3
Ecosistema de Hadoop ...................................................................................... 14
Distribuciones ....................................................................................................... 14
3.4
Ejemplo de trabajo con Hadoop .............................................................................. 15
Preparando el entorno de trabajo ................................................................... 15
Preparando los datos .......................................................................................... 18
Trabajando con Hive........................................................................................... 19
5
Ejercicio de evaluación .............................................................................................. 22
6 Detalles de la evaluación .......................................................................................... 23
7 Notas y referencias de interés ................................................................................... 25
Notas de interés ................................................................................................... 25
Referencias de interés ........................................................................................ 25

4.1
4.2
4.3

7.1
7.2



Página 1

INTRODUCCIÓN AL MANEJO DE DATOS MASIVOS CON HADOOP


1 ¿Qué son los datos masivos o Big Data?



Los datos masivos, también conocidos como Big Data, son datos que cumplen
entre otras las siguientes condiciones (conocidas como las 3 Vs):







Tienen gran volumen. Estamos hablando de terabytes o petabytes de
información, al menos.
Tienen gran velocidad. Son datos que varían muy rápidamente, lo que
hace que su tiempo de vida sea muy limitado. Esto impone severas
restricciones temporales a su almacenamiento y procesamiento, ya que si
no se utilizan las técnicas apropiadas, estos datos no se podrán aprovechar
convenientemente.
Tienen una gran variedad. No están limitados a texto, sino que incluyen
cualquier tipo de dato, como por ejemplo vídeo, audio, imágenes.

Estas condiciones hacen que los sistemas de almacenamiento y procesamiento
de datos tradicionales (como por ejemplo las bases de datos relacionales
tradicionales) no sean los más indicados para trabajar con Big Data – esto se verá
en mayor detalle más adelante en este documento. Por eso, se han desarrollado
tecnologías que permiten el trabajo con datos de estas características, una de las
más ampliamente utilizadas es Hadoop.

El Big Data se puede aprovechar en una gran cantidad de campos. Por ejemplo,
en temas médicos (expedientes médicos, resultados de pruebas, …), negocios
(compras, ventas, transacciones entre empresas, movimientos de la Bolsa, Business
Intelligence…), redes sociales (mensajes de Twitter, Facebook, …), o servidores de
Internet (logs que recogen los accesos que reciben los servidores, …).

En esta práctica vamos a introducir la herramienta de Big Data conocida como
Hadoop. Profundizaremos en su estructura y en sus componentes principales (el
sistema de archivos HDFS y el modelo de programación MapReduce),
presentaremos algunos ejemplos de funcionamiento, antes de proponer una serie
de ejercicios de evaluación.

2 Introducción a Hadoop

2.1 ¿Qué es Hadoop?



Hadoop es un entorno software para el almacenamiento, procesamiento y análisis
de datos masivos, también conocidos como Big Data. Entre sus características más
importantes se encuentran las siguientes:

Página 2

INTRODUCCIÓN AL MANEJO DE DATOS MASIVOS CON HADOOP


• Hadoop es distribuido:



o Se ejecuta en un cluster de ordenadores, un conjunto de
red de

ordenadores conectados entre ellos mediante una
interconexión que funcionan de forma coordinada (ver Figura 1).

o El cluster permite que el usuario del sistema no tenga que
preocuparse de realizar tareas tales como decidir en qué ordenador
se ejecutan
iniciar sesión en la máquina
adecuada.

los trabajos, o de

o El cluster ofrece una imagen única de sistema (Single System Image,
SSI) a sus usuarios, de forma que estos no tienen que ser conscientes
de las infraestructuras subyacentes.

Figura 1. Cluster de ordenadores

• Hadoop es escalable:



o Añadir nodos incrementa la capacidad de forma proporcional (ver
Figura 2). Al contrario que otras tecnologías, que al incrementar el
número de nodo implica un sobrecoste, en Hadoop el incremento
de los nodos del cluster incrementa directamente la capacidad de
procesamiento.



Capacidad

Número de nodos

Figura 2. Escalabilidad de un sistema Hadoop

Página 3

INTRODUCCIÓN AL MANEJO DE DATOS MASIVOS CON HADOOP


• Hadoop es tolerante a fallos:



o Los fallos son normales en sistemas distribuidos. En grandes sistemas
informáticos, como por ejemplo, Google, que están formados por
cientos de miles de ordenadores, suceden fallos a diario.

o El fallo de un nodo no afecta al sistema, que continúa funcionando.
El sistema debe ser capaz de detectar el fallo y adaptarse a él con
el fin de seguir proporcionando el servicio mientras el fallo se
soluciona.

o El maestro reasigna las tareas a otro nodo. De esta forma, el servicio
sigue siendo proporcionado por las máquinas que siguen en
funcionamiento.

o No hay pérdida de datos gracias a la replicación. No solamente el
servicio se debe seguir proporcionando, sino que la información
almacenada debe seguir estando disponible sin pérdidas.

o Cuando un nodo se recupera, vuelve al sistema automáticamente.

• Hadoop es open-source:



o Su código fuente está disponible de forma abierta para que quien lo

desee lo descargue, modifique, …

o Una gran cantidad de desarrollos software se publican de forma
open-source (ver Figura 3), entre los más conocidos se encuentran el
sistema operativo para smartphones Android, el navegador de
Internet Mozilla Firefox, o el cliente de correo electrónico Mozilla
Thunderbird.



Figura 3. Proyectos open-source



Página 4

INTRODUCCIÓN AL MANEJO DE DATOS MASIVOS CON HADOOP


2.2 Necesidad de Hadoop



La creciente necesidad de datos hace que los sistemas distribuidos tradicionales
no sean eficientes. El principal problema que presentan es el almacenamiento de
los datos, ya que se suelen almacenar en una base de datos externa a los nodos
de cómputo, tal como muestra la Figura 4.

De esta forma, cada vez que se inicia un procesamiento sobre los datos, los nodos
de trabajo deben recuperar la información de la base de datos, lo cual supone
un cuello de botella ya que todos los nodos implicados en esos cálculos deben
recuperar los datos prácticamente al mismo tiempo y algunos nodos deberán
esperar, lo cual retrasa el comienzo de los cálculos y afecta negativamente a la
productividad del sistema informático.

En cambio, Hadoop proporciona una nueva gestión de los datos para eliminar ese
cuello de botella, como se muestra en la Figura 5. En Hadoop, los datos se
almacenan en los mismos ordenadores donde se realizarán los cálculos, de forma
que se distribuyen entre ellos en el momento en que se almacenan en el sistema.
Por tanto, cuando se inicia un procesamiento, los datos ya se encuentran en los
nodos de trabajo, por lo que pueden empezar a trabajar sin demora. Debido a
esto, la productividad del sistema informático mejora considerablemente.

Figura 4. Arquitectura tradicional de un sistema distribuido



Página 5

INTRODUCCIÓN AL MANEJO DE DATOS MASIVOS CON HADOOP


Figura 5. Arquitectura de Hadoop



Cuando los datos se almacenan en Hadoop, estos se dividen en bloques, que es
la unidad en la cual se realizan los cálculos (procesos map). Un nodo maestro
gestiona los cálculos para asegurar que se realizan correctamente. Este proceso se
muestra gráficamente en la Figura 6.

De esta forma, se persigue que los nodos se comuniquen entre ellos lo menos
posible. Como los datos se distribuyen cuando se almacenan, evitamos el cuello
de botella que supone leer los datos de la base de datos. Además, los cálculos se
llevan a los datos, no al revés, es decir, que los cálculos se ejecutan en los
  • Links de descarga
http://lwp-l.com/pdf14778

Comentarios de: introducción al Manejo de datos masivos con Hadoop (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad