Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MODELOS DE PROGRAMACIÓN
MAPREDUCE
El Contexto: Big-Data
• Minería de datos. Enormes cantidades de datos recogidos en una amplia gama
de dominios: astronomía, atención sanitaria, clima, etc.
• Esencial para la planificación y el rendimiento.
• Estamos en una economía del conocimiento.
– Los datos son un activo importante para cualquier organización.
– Descubrimiento del conocimiento, habilitar el descubrimiento, anotación de
los datos
– Modelos computacionales complejos.
– Un ambiente simple no es suficientemente bueno: necesita capacidades de
elasticidad y bajo demanda.
• Estamos buscando nuevos…
– Modelos de Programación, y
– Soporte de algoritmos y estructuras de datos.
Client
Block ops
Read Datanodes Datanodes
replication
B
Blocks
Task Tracker
Wipro Chennai 2011
Hadoop Distributed File System
HDFS Server Master node
HDFS Client
Application
Local file
system
Block size: 2K
Name Nodes
Block size: 128M
Replicated
Parse-hash
Count
P-0000
, count1
Parse-hash
Count
P-0001
, count2
Parse-hash
Count
P-0002
Parse-hash ,count3
• Where:
– SHELL_OPTIONS: --config –loglevel
(config. Dir. / FATAL, ERROR, WARN, INFO, DEBUG,
TRACE)
HDFS Commands
– USER COMMAND:
(classpath, dfs, fetchdt, fsck, getconf, groups,
lnSnapshottableDir, jmxget, oev, oiv, oiv_legacy,
snapchotDiff, version)
– ADMINISTRATION COMMAND:
(balancer, cacheadmin, crypto, datanode,
dfsadmin, haadmin, journalnode, mover, namenode,
nfs3, portmap, secondarynamenode,
storagepolicies, zkfc)
– DEBUG COMMAND:
(verify, recoverLease)
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-
hdfs/HDFSCommands.html
Application programming interfaces
• Native Java API : Base class
org.apache.hadoop.fs.FileSystem
https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-
hdfs/HdfsNfsGateway.html
Other options?
• Apache Flume: collecting, aggregating
streaming data and moving into HDFS
D1 map()
D2 map()
D3 map()
… …
Dn map()
Map/Reduce flow
• How to works? Hadoop groups <key, value> data
D1 map()
D2 map()
D3 map()
… …
Dn map()
Map/Reduce flow
• How to works? Hadoop groups <key, value> data
D1 map() reduce() O1
D2 map()
D3 map() reduce() O2
… …
Dn map() reduce() Om
Practice
• Example: Word Counter
MapReduce Tutorial: WordCount v1.0
https://goo.gl/KxhJWy (java)
http://goo.gl/FhX1rf (python)
Look out: