首页 > 其他 > 详细

《hadoop实战》笔记

时间:2014-02-15 12:16:47      阅读:310      评论:0      收藏:0      [点我收藏+]

Hadoop简介

1. hadoop作为一个数据处理框架,由于大数据量的传输很耗时,hadoop采用的机制为将代码发送到集群环境中去,因为集群中有数据和计算(运行)环境,即代码向集群迁移

2. SQL处理结构化数据,hadoop针对文本这类非结构化数据

SQL数据库向上扩展(增加单台机性能)时成本高,hadoop向外扩展(增加多台一般商用机)

hadoop用键/值对(MapReduce实现)代替SQL数据库中的关系表,将非结构化数据转换成键/值对

SQL使用查询语句,hadoop使用脚本编程

hadoop用离线批量处理大规模数据代替在线事务处理

3.  管道有助于进程原语重用,消息有助于进程原语同步队列

MapReduce中,数据处理的进程原语称为mapperreducer

4. 编写一个垃圾邮件过滤器,获取垃圾邮件中经常使用到的词

数据存储在单台机上,处理时提取数据受制于这太机器的传输带宽

集群中每台机器单词计数处理(map)完时将结果传输给单台机时同样受限,需要将map过程的结果分区,使得可以增加机器,每个机器处理一个分区(reduce)

5. MapReduce程序执行需要mapping和reduceing两个阶段,每个阶段定义一个数据处理函数,对应为mapper和reducer

mapping阶段:MapReduce获取输入数据,将数据单元装入mapper

reduceing阶段:reducer处理来自mapper的输出,给出最终结果

6.  mapping、reducing、partitioning、shuffling

输入:组织为键值对列表(k,v)list

    多个文件时:list(<String filename,String file_content>)

    日志文件时:list(<Integer line_number,String log_event>)

一般不同键值对中的键为同一类型,值也是同一类型

拆分键值对列表list,处理每个键值对列表list

单词统计,<String filename,String file_content>被输入mapper,输出<String word,Integer count>

mapper的输出聚合,比如一个map输出列表中出现三次<"foo",1>,两一个出现两次,reducer输出为<"foo",5>

7. 运行hadoop提供的例子程序

建立文件夹并复制源代码

mkdir playground

mkdir playground/src

mkdir playground/classes

cp src/examples/org/apache/hadoop/examples/WordCount.java playground/src/WordCount.java

8. 一个改进的WordCount.java源码

bubuko.com,布布扣

9. hadoop一些特殊的内部类

LongWritable、IntWritable、Text

10. hadoop是Nutch的子项目,Nutch最初是Lucene的子项目

初识Hadoop

1. 各种守护进程(daemons)

NameNode:hadoop采用master/slave主从结构,NameNode位于主端,指导从端的DataNode执行底层的I/O任务。运行要消耗大量内存和I/O资源,因此驻留 NameNode的服务器不会再有DataNode、Tasktracker运行,从而就会有单点失效问题

DataNode:将HDFS数据块读取或者写入本地文件系统的实际文件中。初始化时将当前存储的数据块告知NameNode,,DataNode数据发生变化时不间断的更新 NameNode中关于数据块的信息

Secondary NameNode(SNN):监测HDFS集群运行状态的辅助守护进程,不接受HDFS的实时变化,与NameNode通信,获取HDFS元数据快照。元数据快照有助于 减少停机时间、降低数据丢失风险

Jobtracker:运行在主节点NameNode中,是应用程序和Hadoop之间的纽带,监测MapReduce作业的整个执行过程。确定处理哪些文件、为不同的任务分配节点、监测 所有任务的运行。指定时间内没有收到Tasktracker的心跳,则认为Tasktracker已经崩溃,从新提交相应任务到其他节点。

Tasktracker:管理各个任务在每个从节点上的执行情况。每个从节点上只有一个Tasktracker,但每个Tasktracker可生成多个虚拟机JVM来并行处理许多map和reduce任 务。不间断的与Jobtracker通信(心跳)。

bubuko.com,布布扣

bubuko.com,布布扣

《hadoop实战》笔记

原文:http://blog.csdn.net/whaoxysh/article/details/19213399

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!