大数据时代——为什么用HADOOP?
转载自:http://www.daniubiji.cn/archives/538
什么叫大数据
“大”,说的并不仅是数据的“多”!不能用数据到了多少TB ,多少PB 来说。
对于大数据,可以用四个词来表示:大量,多样,实时,价值。
大量:这个大家都知道,想百度,淘宝,腾讯,Facebook,Twitter等网站上的一些信息,这肯定算是大数据了,都要存储下来。
多样:数据的多样性,是说数据可能是结构型的数据,也可能是非结构行的文本,图片,视频,语音,日志,邮件等。
实时:大数据需要快速的,实时的进行处理。如果说对时间要求低,那弄几个机器,对小数据进行处理,等个十天半月的出来结果,这样也没有什么意义了。
有价值: 数据中,存在着价值。数据,也有可能创造价值。
根据以上的特点,我们需要一个东西,来:
1存储大量数据
2快速的处理大量数据
3从大量数据中进行分析,以产生价值
于是就有了这样一个模型————hadoop。
hadoop的历史就不说了。
hadoop模型如下:
(上图为Hadoop1.x的布局)
(Hadoop2.x较Hadoop1.x,多了YARN)
Hadoop框架,是一个庞大的生态系统。
或者我们可以这样理解:
可以把整个体系,看成一个操作系统XP,win7,win8,win10。
HDFS和MapReduce为操作系统的核心,Hive,Pig,Mathout,Zookeeper,Flume,Sqoop,HBase等,都是操作系统上的一些软件,或应用。
HDFS:(Hadoop
Distributed File System),Hadoop分布式文件系统。
从名字上就看出了它的两点功能。基本功能,存文件,是一个文件系统;另外这个文件系统是分布式的;
从图上来看,HDFS的简单原理。
Rack1,Rack2,Rack3是三个机架;
1,2,3,4,5,6,7,8,9,10,11,12 是机架上的十二台服务器。
Block A, Block B, Block C为三个信息块,也就是要存的数据。
从整体布局上来看,信息块被分配到机架上。看似很均匀。这样分配的目的,就是备份,防止某一个机器宕机后,单点故障的发生。
MapReduce,(Map
+ Reduce),就看成是计算的功能。可以对数据进行处理。
它加快了计算。主要也是通过上图的布局。将数据分布到多个服务器上。当有任务了,比如查询,或者比较大小,先让每台服务器,都处理自己的存储中文件。然后再将所有服务器的处理结果进行第二次处理。最后将结果返回。
另外,从别的资料看到一种解释mapreduce的方式,很简单
Goal: count the number of books in the?library.
Map: You count up shelf #1, I count up shelf?#2.
(The more people we get, the faster this part goes.?)
Reduce: We all get together and add up our individual?counts.
其实,hadoop还有一点好处,就是省钱。
框架开源的,免费的,服务器也不用特别牛X的。(廉价的商用服务器——这里说的是 “廉价”,“商用”,也就是不用买小型机那些东西,但是还得是商用的。正式生产环境,不能用普通的pc。)
省钱才是硬道理。(hadoop就行php开发LAMP一样,工具免费,但是人力资源成本,也是需要考虑的。)
为了更好的了解大数据,先区别一下几个经常见到的词语。
1、大数据和云计算有什么区别
云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。
云计算可以认为包括以下几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。
IaaS(Infrastructure-as-a- Service):基础设施即服务。消费者通过Internet可以从完善的计算机基础设施获得服务。例如:硬件服务器租用。
PaaS:平台即服务
PaaS(Platform-as-a- Service):平台即服务。PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。例如:软件的个性化定制开发。
SaaS:软件即服务
SaaS(Software-as-a- Service):软件即服务。它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。例如:阳光云服务器。
现在用的hadoop是位于云计算中PaaS一层。
大数据(big data),或称巨量资料,大的数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。
2、公有云和私有云有什么区别
①、公有云是放在Internet上的,只要是注册用户、付费用户都可以用;
②、私有云是放在私有环境中的,比如企业、政府、组织等等自己在机房中建立的,或者是运营商建设好,但是整体租给某一组织的。企业、组织、政府等之外的用户无法访问或无法使用;
③、混合云是公有云和私有云的混合,大多数是指私有云建设好了,但是很多资源(计算能力或存储空间)不够用,所以还得动态的在公网上申请公有云作为自己私有云的补充。
大数据时代——为什么用HADOOP?的更多相关文章
- 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)
大数据时代之hadoop(一):hadoop安装 大数据时代之hadoop(二):hadoop脚本解析 大数据时代之hadoop(三):hadoop数据流(生命周期) 大数据时代之hadoop(四): ...
- 大数据时代,我们为什么使用hadoop
大数据时代,我们为什么使用hadoop 我们先来看看大数据时代, 什么叫大数据,“大”,说的并不仅是数据的“多”!不能用数据到了多少TB ,多少PB 来说. 对于大数据,可以用四个词来表示:大量,多样 ...
- 【Hadoop】大数据时代,我们为什么使用hadoop
博客已转移,请借一步说话.http://www.daniubiji.cn/archives/538 我们先来看看大数据时代, 什么叫大数据,“大”,说的并不仅是数据的“多”!不能用数据到了多少TB , ...
- 大数据时代的IT架构设计
大数据时代的IT架构设计(来自互联网.银行等领域的一线架构师先进经验分享) IT架构设计研究组 编著 ISBN 978-7-121-22605-2 2014年4月出版 定价:49.00元 208页 ...
- 跟上节奏 大数据时代十大必备IT技能(转)
新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT发展趋势,使得IT人必须了解甚至掌握最 ...
- 大数据时代的技术hive:hive介绍
我最近研究了hive的相关技术,有点心得,这里和大家分享下. 首先我们要知道hive到底是做什么的.下面这几段文字很好的描述了hive的特性: 1.hive是基于Hadoop的一个数据仓库工具,可以将 ...
- 看大数据时代下的IT架构(1)业界消息队列对比
一.MQ(Message Queue) 即 消息队列,一般用于应用系统解耦.消息异步分发,能够提高系统吞吐量.MQ的产品有很多,有开源的,也有闭源,比如ZeroMQ.RabbitMQ. ActiveM ...
- 跟上节奏 大数据时代十大必备IT技能
跟上节奏 大数据时代十大必备IT技能 新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT ...
- 【互动问答分享】第15期决胜云计算大数据时代Spark亚太研究院公益大讲堂
"决胜云计算大数据时代" Spark亚太研究院100期公益大讲堂 [第15期互动问答分享] Q1:AppClient和worker.master之间的关系是什么? AppClien ...
随机推荐
- 爬虫系列1:python简易爬虫分析
决定写一个小的爬虫系列,本文是第一篇,讲爬虫的基本原理和简易示例. 1.单个网页的简易爬虫 以下爬虫的主要功能是爬取百度贴吧中某一页面的所有图片.代码由主要有两个函数:其中getHtml()通过页面u ...
- for循环遍历改用map函数
# for url in urls:# url = response.urljoin(url)# print(url)urls = map(lambda url:response.urljoin(ur ...
- 2017ICPC北京赛区网络赛 Visiting Peking University(简单思维)
描述 Ming is going to travel for n days and the date of these days can be represented by n integers: 0 ...
- Hibernate总结以及在面试中的一些问题.
Hibernate总结以及在面试中的一些问题. 1.为什么要使用Hibernate开发你的项目呢?Hibernate的开发流程是怎么样的? 为什么要使用 ①.对JDBC访问数据库的代码做了封装,大 ...
- 一种简单的ELF加固方法
介绍一种ELF文件函数粒度的加固方法,可以有效防止对程序的静态分析.这是一种有源码加固方式,需要被加固程序中代码配合.加固流程如下: 1)读取ELF文件头,获取e_phoff和e_phnum2)通过E ...
- ImportError: No module named 'xml'
/********************************************************************************* * ImportError: No ...
- RMQ_ST表
]; ]; ]; void init(int n) { int i, j; pwr[] = ; ; i<; ++i) pwr[i] = pwr[i-] << ; ; pwr[j]&l ...
- Arcgis API本地化
①将API文件夹复制到该目录下C:\Program Files\ArcGIS\Server\framework\runtime\tomcat\webapps ②打开API文件夹中的init.js文件( ...
- 对List数组进行排序 Collections.sort(param1,param2)
@SuppressWarnings("unchecked") List<PageData> group_items_list = (List<PageData&g ...
- 20155208 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
20155208 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 打开windows下的 ...