zoukankan      html  css  js  c++  java
  • Hadoop中的MapReduce

    结构介绍

    • MapReduce是Hadoop提供的一种处理海量数据的并行编程模型和计算框架,用于对大规模的数据进行并行计算。主要由ResourceManager和NodeManager两类节点构成。
    • ResourceManager主要负责集群资源管理,NodeManager负责节点的资源管理。
    • 当运行MapReduce任务的时候,后产生ApplicationMaster和Container,其中ApplicationMaster负责向ResourceManager节点进行资源的申请并控制任务的执行,Container是最基本的资源单位。MapReduce的Map和Reduce均是其之上进行运行的。

    MapReduce编程思想

    • MapReduce采用“分而治之”的思想。对大规模的数据集的操作分配给各子节点进行操作,然后通过整合子节点的中间结果得到最终结果。即“任务的分解和结果的汇总”。
    • Hadoop将这个工作高度抽象成为两个函数,分别为Map和Reduce。Map负责将任务分解为多个任务。Reduce负责将多个Map任务的中间结果合并为最终结果。在此过程中的其他步骤均由Hadoop的MapReduce框架自行负责处理,包括工作调度、任务分配和节点间通信等。

    Hadoop数据类型

    • 继承接口Writable实现其方法write()和readFields(),以便该数据能被序列化后完成网络传输或文件输入/输出。
    • 如果该数据需要作为主键key使用或者需要比较值大小时,则需要实现WritableComparable接口,实现其方法write(),readFields(),CompareTo()。
    类型 说明
    BooleanWritable 标准布尔型数值
    ByteWritable 单字节数值
    DoubleWritable 双字节数值
    FloatWritable 浮点数
    IntWritable 整型数
    LongWritable 长整型数
    Text 使用UTF8格式存储的文本
    NullWritable 当<key, value>中的key或value为空时使用

    以上为Hadoop中关于MapReduce的一些介绍,具体正在学习ing...

    初心回归,时光已逝!
  • 相关阅读:
    记一次模型调试问题:使用TextLSTM/RNN学习不动,损失和acc均无变化
    机器学习常用损失函数
    java多线程使用mdc追踪日志
    搜索笔记整理
    pytorch加载bert模型报错
    Transformer源代码解释之PyTorch篇
    matplotlib画图并设置风格
    PyTorch实现断点继续训练
    通过sklearn使用tf-idf提取英文关键词
    通过依存关系生成邻接矩阵
  • 原文地址:https://www.cnblogs.com/yin1361866686/p/11724967.html
Copyright © 2011-2022 走看看