• Hadoop mapreduce 浑身都是芝士点


    一 使用mapreduce实现分布式计算

    1.什么事mapreduce?

    源于google 的mapreduce 论文发表 Hadoop mapreduce 是Google mapreduce 的克隆版。

    优点 易于编程

      内部负责的操作,都是由框架本身去完成的,留给我们开发的内容少之又少(逻辑)

    2.良好的扩展性:

     随着我们业务或者需求的增加,集群的存储能力或者计算能力,又可能下降,这样我们可以通过增加集群的节点来解决

    JobTracker:工作跟踪者

    管理所有的作业job,存储在master节点上

    将作业分解成一系列的任务

    将任务指派给TaskTracker

    作业/任务监控,错误处理等

    TaskTracker

    存在slave节点上

    运行Map TaskReduce Task

    JobTracker交互,执行命令,汇报任务状态(心跳)

    mapreduce 编程模型

    input就是我们需要计算的海量数据文件

    Splitting,就是把数据分割成一片一片的数据

    mapping:就是计算每片数据的文件

    Combiner:Combinder 对一个输出作用就是在map端做一次合并,减少本地磁盘10

    Final result: 把最终的结果输出到HDFS文件系统中

    Reducing:把Shuffing的数据进行汇总

    思想就是分而治之

    MapReduce的思想就是“分而治之

    ***********map 

    就是“分”将复杂的数据分解成若干个,“简单的任务去执行”

    可以并行计算,彼此之间没有依赖关系

    reducer 就是负责对“合”汇总

    reducer的数目是由mapred-site.xml配置文件中的mapred.reduce.tasks决定的)所以这些都是mapreduce机制帮我们做出来的 计算

    .WordCount案例解析

    Hadoop数据类型:

    IntWritable hadoop中的基本数据类型!整型数!

    LongWritable:长整型数

    FloatWritable:浮点数

    DoubleWritable:双字节数

    ByteWritable:单字节,对应byte类型

    BytesWritable:字节数组,对应byte[]

  • 相关阅读:
    贪心算法与动态规划
    Linux重要目录结构
    博客园添加目录索引
    冒泡排序&插入排序&其他排序
    Linux下部署自己写的Web项目
    Java算法入门-数组&链表&队列
    Java集合-数据结构之栈、队列、数组、链表和红黑树
    Java集合-单例模式斗地主&Collections类的shuffle方法了解
    什么是反向代理服务器
    Linux信号处理
  • 原文地址:https://www.cnblogs.com/hualishu/p/10147884.html
Copyright © 2020-2023  润新知