博客学习五——hadoop

1、
mapper将输入进行过滤和转换
reducer完成聚合

2、
NameNode:位于HDFS的主端,指导从端的DataNode执行底层的I/O任务;跟着HDFS中文件如何被分割成文件块,而这些块又被哪些节点存储,以及分布式文件系统的整体运行状态是否正常;
DataNode:将HDFS数据块读取或者写入到本地文件系统的实际文件中;一个数据块被复制到多个DataNode中,防止任何一个DataNode崩溃或者无法通过网络访问时,扔可以读取文件;
Secondary NameNode,SNN:检测HDFS集群状态,与NameNode通信,根据集群所配置的时间间隔获取HDFS元数据的快照;
JobTracker:一旦提交代码到集群上,JobTracker确定执行计划,失败则自动重启任务;
TaskTracker:JobTracker为计算的守护进程的主节点,检测MapReduce作业的整个执行过程,TaskTracker管理各个任务在每个从节点上的执行情况;

3、一个完整的Hadoop集群:
Secondary NameNode<-->NameNode JobTracker<-->N*(DataNode<-->TaskTraker)

4、HDFS
hadoop fs -ls
hadoop fs -mkdir /chuck
hadoop fs -put example.txt /user/chuck(本地文件复制到HDFS)
hadoop fs -get example.txt
java APT:
FSDataInputStream.open/read/write/close
FSDataOutputStream

5、MapReduce
mapper/reducer的基类:MapReduceBase类
void configuer(JobConf job)数据处理之前调用
void close()map的最后一个操作,关闭数据库连接、打开的文件等
Mapper接口负责数据处理阶段:
Java泛型:Mapper<K1,V1,K2,V2>
Mapping
partitioning
shuffling
reducing
InputFormat:从文件中读取数据:mapper
输入数据:通常驻留在较大的文件中,基本原则是将输入数据分割成块,这些块被称为输入分片Input Split;
FSDataInputStream类:读取文件,支持随机读
KeyValueTextInputFormat:键/值都为Text类
TextInputFormat:键/值分别为LongWritable/Text
OutputFormat:输出数据到文件中:reducer

每个reducer只需要将自己的输出写入到自己的文件中,无需分片


==============================================

Streaming
STDIN:输入数据
STDOUT:输出数据
类似管道:数据流先流过mapper,然后再reducer中排序,最后输出;
bin/hadoop jar contrib/streaming/hadoop-0.19.1-streaming.jar -input input/cite75_99.txt -output  output -mapper 'cut -f 2 -d ,' -reducer 'uniq'

Python脚本:
RandomSample.py
#!/usr/bin/env python
import sys,random
for line in sys.stdin:
if(random.randint(1,100) <= int(sys.argv[1]));
print line.strip()
bin/hadoop jar contrib/streaming/hadoop-0.19.1-streaming.jar -input input/cite75_99.txt -output  output -mapper 'RandomSample.py 10' -file 
RandomSample.py -D mapred.reduce.tasks=1


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值