对于一个刚刚接触Hadoop的菜鸟来说,Hadoop的概念还是挺抽象的,而且这个技术刚刚兴起,除了阿里巴巴,腾讯、中国移动这些技术实力非常强而且需要对数据进行海量存储的公司对Hadoop技术有一些初步应用以外,其它中小企业对它的应用和需求并不多,网络上也鲜有比较适合的解决方案以供参考。前阵,在Hadoop的官方网站看过一篇文档,通过  一个数据存储和分析的简单实例,浅显易懂的对Hadoop进行了一个简要介绍,自认为对我理解Hadoop起到了启蒙作用,下面通过这个实例和我的它的理解对Hadoop的概念做一个初步说明。
      多年来,硬盘存储容量快速增长的同时,访问速度(数据从硬盘读取的速度)却未能与时俱进。1990年,一个普通硬盘驱动器的存储容量为1370 MB,传输速度为4.4 MB/s,读完整个硬盘的数据需要5分钟的时间;20年过去了,1TB级别的磁盘驱动器是很正常的,但数据传输的速度却在100 MB/s左右,所以它需要花将近3个小时才能读完整个驱动器的数据。从一个驱动器上读取所有的数据需要很长时间,写数据甚至更慢。
      所以,如何大幅减少硬盘驱动器的数据读取时间显的至关重要。一个很简单的方法就是同时从多个磁盘读取数据。假设,我们有100个容量为1TB的磁盘,需要存储的数据为1TB,每个磁盘存储百分之一的数据(即1/100T=10485.76MB),如果这100个硬盘并行运算,那么不到两分钟我们就可以读完这1T的数据。由此可见并行运算对于减少数据读取时间是非常有效的。但多个磁盘并行运算也有一些瓶颈问题:
       1. 第一个需要解决的问题是硬件故障:一旦开始使用多个硬件设施,其中一个会出故障的概率是非常高的,避免数据丢失的常见做法就是复制;通过系统保存数据的冗余副本,在故障发生时,可以使用数据的另一份副本。这就是冗余磁盘阵列的工作方式。Hadoop的文件系统HDFS也是一个例子,它的工作原理与冗余磁盘阵列基本相似,都是通过保存数据的冗余副本来避免数据丢失,不同的是HDFS以数据块(Block)的形式,将数据块复制三份,存储在不同的数据节点上。
       2. 之前的数据是通过分布式存储做并行运算的,大部分数据分析任务需要通过某种方式把数据合并起来,即从一个磁盘读取的数据可能需要和另外99个磁盘中读取的数据合并起来才能使用。目前,各种不同的分布式系统是能够组合多个来源的数据,但是如何保证正确性是一个非常难的挑战,而Hadoop中的核心组件MapReduce提供了一个编程模型,其抽象出上述磁盘读写的问题,将其转换为计算一个由成对键/值组成的数据集,通过Map和Reduce的接口将分布式存储的数据整合在一起。
       综上,Hadoop提供了一个稳定的共享存储和分析系统。存储由HDFS实现,分析由MapReduce实现,Hadoop很好的解决了上述关于分布式存储和并行运算所遇到的瓶颈问题,纵然Hadoop还有其他功能,但这些功能是它的核心所在。

转载于:https://blog.51cto.com/bjbxy/381657

通过一个对数据的存储和分析的简单实例初识Hadoop相关推荐

  1. 《Hadoop 权威指南 - 大数据的存储与分析》学习笔记

    第一章 初识Hadoop 1.2 数据的存储与分析 对多个硬盘中的数据并行进行读/写数据,有以下两个重要问题: 硬件故障问题.解决方案:复制(replication),系统保存数据的副本(replic ...

  2. Fluent离散相模型分析操作简单实例

    Fluent离散相模型分析操作简单实例 前言 离散相是用于拉格朗日参考系下粒子/液滴/气泡轨迹的计算,连续气体相中,粒子可以传递热,质量和动量,每条轨迹是由一系列初始属性相同的粒子组成.多应用于气旋. ...

  3. 实训1_获取产业数据并存储_预处理与简单分析

    目录 1. 实训一. 获取产业数据并存储.预处理与分析 1.1 实训内容概述 1.2 实训知识点: 1.2.1 爬取网页数据 1.2.1.1 一般格式 1.2.1.2 采用pandas读取网页表格数据 ...

  4. 【python数据可视化】成绩分析及可视化实例

    题目要求 综合项目设计2:成绩分析及可视化实例 [已有功能]某班有30名学生的3门课程成绩,请统计每个学生课程的总分.平均分,每门课程的最高分.最低分,并绘制图形,对比各成绩段的成绩人数分布. [教学 ...

  5. 《Hadoop权威指南.大数据的存储与分析.第4版.修订版升级版》

    /*免责声明:全部内容都属于是段友分享,我只是属于整理.**/ /* 写在前边,个人觉得****弄一个积分下载,就是在自掘坟墓.表面上看起来是可以为个人赚积分,实际砍掉分享交流的一个途径.对我就是没有 ...

  6. java 简单数组_Java 数组分析及简单实例

    Java 数组 一.什么是数组 数组?什么是数组?在我印象中的数组是应该这样的:通过new关键字创建并组装他们,通过使用整形索引值访问它的元素,并且它的尺寸是不可变的! 但是这只是数组的最表面的东西! ...

  7. BigData NoSQL —— ApsaraDB HBase数据存储与分析平台概览

    一.引言 时间到了2019年,数据库也发展到了一个新的拐点,有三个明显的趋势: 越来越多的数据库会做云原生(CloudNative),会不断利用新的硬件及云本身的优势打造CloudNative数据库, ...

  8. 数据湖,已成为海量数据存储与分析的重要承载方式

    简介: 在云计算和大数据时代,基于数据开展生产.运营.决策成为常态,根据Gartner报道,2019年数据基建方面的采购费用飙升到660亿美元,占据基础架构类软件费用的24%.数据的存储及应用体系是企 ...

  9. 面向智能电网的电力大数据存储与分析应用

    面向智能电网的电力大数据存储与分析应用 崔立真1, 史玉良1, 刘磊1, 赵卓峰2, 毕艳冰3 1. 山东大学计算机科学与技术学院,山东 济南 250101 2. 北方工业大学云计算研究中心,北京 1 ...

最新文章

  1. Java中的三目运算符
  2. python成员方法共享吗_python 入坑路 类的特殊成员方法
  3. Vue面试题 70道题目及答案
  4. 一篇文章带你搞懂前端面试技巧及进阶路线
  5. 15.2. important
  6. paip.SOCKET抓包工具总结V2012.9.17
  7. Oracle 递归查询 (start with ...connect by ...prior)
  8. Excel如何快速方便生成随机姓名
  9. TP6使用session
  10. HTML表格的单元格合并
  11. 如何0成本搭建外卖CPS返利小程序
  12. js:判断页面在 微信 微博 QQ 支付宝 钉钉 内置浏览器内打开
  13. mysql保存特殊表情符_mysql 存储表情或者特殊符号
  14. 逆透视变换(IPM)多种方式及代码总结
  15. centos如何在官网下载以前的版本
  16. 【附源码】计算机毕业设计SSM网上旅游订票服务系统
  17. Linux环境下使用JFS文件系统介绍
  18. 输入电阻、输出电阻、特性阻抗、阻抗匹配
  19. LAMMPS 中 molecule command 的分子模板
  20. Oracle数据库超详细安装教程(含PLSQL),会用电脑就能装!

热门文章

  1. 谷歌Chrome 紧急修复已遭利用的两个0day
  2. RSAC 2021:厂商发布概述
  3. SolarWinds 软件出现3个新的严重漏洞
  4. exp-小写字母表导出问题?
  5. Ubuntu简单指令和热键的学习
  6. 京东与滁州达成战略合作,共建全国首座智慧型家电产地仓
  7. (七)lucene之中文检索和高亮显示以及摘要
  8. CSAPP Bomb Lab记录
  9. 工具,帮助我们更高效的工作
  10. 五步整理你的css文件