zoukankan      html  css  js  c++  java
  • Hadoop介绍


    介绍Hadoop

    大数据胜于好算法

    • 如果数据足够多,可能产生意想之外的应用
    • 无论算法好坏,更多的数据总能带来更好的推荐效果

    大数据存储和分析遇到的问题

    • 磁盘容量的增长远远大于磁盘读取速度
    • 1TB的磁盘,数据传输速度100MB/s,读一遍2.5H
    • 写数据就更慢了

    解决之道

    • 磁盘数据并行读写
    • 分布式文件系统,冗余
    • MapReduce

    Hadoop

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。Hadoop提供了一个可靠的共享存储和分析系统。HDFS实现存储,MapReduce实现分析处理。

    传统关系型数据库 vs MapReduce

    Hadoop生态圈

    Hadoop支持多种语言,包括Java/C/Python/Ruby

    HDFS

    • Hadoop Distributed File System

    • HDFS是Hadoop的首选分布式文件系统,同时Hadoop也可以支持其他文件系统,例如本地文件和其他分布式系统。

    • 超大文件->1024G->1T->1024T->1P

    • HDFS是为大数据吞吐设计的,这可能会以时间延迟为代价

    • HDFS的block默认为64M,Map任务通常一次处理一个块的任务

    • nodename存储文件的元数据,nodename是放在内存中的,所以文件存储的节点受限于namenode的内存大小

    • 显示分布式系统的数据块结构:

      # DEPRECATED
      hadoop fsck / -files -blocks
      
      hdfs fsck / -files -blocks
      

    NameNode为master管理者,管理元数据。当客户端发起读取或者写请求时,客户端会把请求发向NameNode,NameNode查询该请求涉及到哪些数据块以及数据块所在节点位置,将DataNode地址返回给客户端。然后客户端从相应的NameNode上读取数据块,并拼接成文件。NameNode只负责返回元数据信息,数据的写入和读取是直接由客户端和各个NameNode间进行传输的。

    MapReduce

    • MapReduce对数据采用的是运行时解释的方式,所以对非结构化和半结构化数据非常有效
    • MapReduce输入的键和值并不是数据固有的属性,而是由分析数据的人员来选择的。

    Reference

  • 相关阅读:
    如何处理大数据量抽数长期无响应
    处理链报错邮件通知
    BW数据源深入研究【转自WKingChen的博客】
    BW:处理链报错解决步骤
    创建自己的Convers. Routine.
    vs2005 创建 C++ Dll项目
    C++之模板
    delphi 的 pos 函数 对中文支持不好。
    delphi中 socket 心跳包的实现
    C++ UTF8编码转换 CChineseCode
  • 原文地址:https://www.cnblogs.com/okokabcd/p/9258290.html
Copyright © 2011-2022 走看看