hadoop权威指南 读书笔记

第二章:关于mapReduce

          mapreduce是一种可用于数据处理的编程模型,它是并行运行的,可以处理大规模数据分析。

处理少量大文件比大量小文件更容易

           mapreduce两个处理阶段:

                 map阶段和reduce阶段,每个阶段都以key/value做为输入和输出,类型由程序员选择

map中的key是文件中的行偏移量,map函数并不需要这些信息,所以将其忽略
reduce的输入类型必须与map的输出类型相匹配

                 reduce函数输出文件的目录在运行任务前应该不存在

    数据流:

          节点角色:

                 tasktracker:用来执行map和reduce任务

                 jobtracker:用来调度任务在哪个tasktracker上执行

执行任务期,tasktracker会将运行进度报告给jobtracker,job由此记录作业的整体进度,如果其中一个任务失败,它可以调度别一个tasktracker来重新执行

           分片:hadoop将mapreduce输入数据划分成等长的小数据块称为分片,hadoop为每个分片建立一个map任务,并由map函数来处理分片中的每行数据(分片切分更细,负载均衡就越好,当然太小map数就越多,所须要执行时间就越长)

一个合理的分片应该与hdfs块大小相同,默认64M
map函数的输出会写到磁盘上,非hdfs;reduce的输出存在hdfs上实现可靠存储

    单个reduce的输入通常来自所有map的输出      

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值