zoukankan      html  css  js  c++  java
  • 一、hadoop基本介绍

    1.Hadoop的整体框架

    • Hadoop是由许多元素构成的,最核心的是HDFS(分布式文件系统),它存储了Hadoop集群中所有DataNode文件,HDFS的上一层是MapReduce引擎,MapReduce是一种计算模型,用以进行大数据量的计算。

    HDFS

    • HDFS是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。
    • 它采用了主从结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成,其中NameNode作为主服务器管理文件系统的命名空间和客户端对文件的访问操作,而DataNode则负责管理存储的数据。HDFS底层数据被切割成了多个Block,而这些Block又被复制后存储在不同的DataNode上,以达到容错容灾的目的。
    • HDFS由四部分组成,HDFS Client、NameNode、DtatNode和Secondary NameNode。
      HDFS是一个主/从(Mater/Slave)体系结构,HDFS集群拥有一个NameNode和一些DataNode。NameNode管理文件系统的元数据,DataNode存储实际的数据。

    MapReduce

    • MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。采用的是分而治之的思想,首先把任务分发到集群的多个节点上,并行计算,然后再把计算结果合并,从而实现大规模数据的并行运算。而实现多点计算,所涉及的任务调度、负载均衡、容错处理等都是有MapReduce框架完成。

    MapReduce 由 两 个 阶 段 组 成 :Map 和 Reduce

    • map() 函数以 key/value 对作为输入,产生另外一系列 key/value 对作为中间输出写入本地 磁盘。
    • MapReduce 框架会自动将这些中间数据按照 key 值进行聚集,且 key 值相同(用户可 设定聚集策略,默认情况下是对 key 值进行哈希取模)的数据被统一交给 reduce() 函数处理。
    • reduce() 函数以 key 及对应的 value 列表作为输入,经合并 key 相同的 value 值后,产 生另外一系列 key/value 对作为最终输出写入 HDFS。
    • 指定三个组件分别是 InputFormat、Partitioner 和 OutputFormat, 它们均需要用户根据自己的应用需求配置
    • 指定输入 文件格式。将输入数据切分成若干个 split,且将每个 split 中的数据解析成一个个 map() 函数 要求的 key/value 对。
    • 确定 map() 函数产生的每个 key/value 对发给哪个 Reduce Task 函数处 理。
    • 指定输出文件格式,即每个 key/value 对以何种形式保存到输出文件中。
  • 相关阅读:
    友盟上报 IOS
    UTF8编码
    Hill加密算法
    Base64编码
    Logistic Regression 算法向量化实现及心得
    152. Maximum Product Subarray(中等, 神奇的 swap)
    216. Combination Sum III(medium, backtrack, 本类问题做的最快的一次)
    77. Combinations(medium, backtrack, 重要, 弄了1小时)
    47. Permutations II(medium, backtrack, 重要, 条件较难思考)
    3.5 find() 判断是否存在某元素
  • 原文地址:https://www.cnblogs.com/hziwei/p/12785555.html
Copyright © 2011-2022 走看看