如何用形象的比喻描述大数据的技术生态(HadoopHiveS
看了很多人写的,认为都不够通俗,对于很多新人来说,可能连名词都不是很清楚,一些不明觉厉的高深的业内技术恐怕要把他们给劝退吧。
本帖力争让小白看了之后彻底搞懂大数据技术生态来龙去脉,让一些经验丰富的技术人也能在不同的视角有获得感。
PS:本文尽量以一个新手小白的角度带大家把这些名词讲清楚,全文会列举很多具象的小例子,尽可能做到通俗易懂。
在这里也给想入门大数据行业的新人或者想进一步在这个领域深耕的小伙伴奉上一套优质的学习资源。涵盖了大数据基础、大数据架构、数据仓库、数据治理、bat真实案例,科研绘图与工具、大厂面试真题附含答案以及简历模板等众多干货。文末自由获取。
在写完这篇文章后,我突然有了一个感触,就是技术人在学习一项新技术的时候,会常常习惯于在一个给定的问题场景下,把相关技术越挖越深,优化的也越来越好,希望去更好的解决它。
但是大家常常忽略这个问题当初是怎么产生的?以及我们为什么要去解决这个问题?
其实有的时候,一个好的问题定义,要比一个解决方案更重要。希望大家耐心看完!全文很干,大家在读的时候,手边可以准备一杯水!发车!Hadoop、Hive、Spark之间的关系
首先,大家都知道Hadoop、Hive、Spark都是大数据相关的系统和技术,大数据也属于数据管理系统的范畴。
因而我们可以从数据管理的解决的问题出发展开来讲解一下这个问题。
任何公司的数据管理系统无非涉及到两个问题:
1、数据怎么存?
2、数据怎么算?
为了让大家从根源上理解大数据技术的演进过程,我们从单机时代开始说起。
在单机数据管理系统时代,数据量是很少的,一台服务器基本就可以存下所有的数据,计算也不会碰到什么瓶颈,并且这种场景下,数据处理的任务都是IO密集型的,也就更谈不上什么分布式系统了。
以现在一个典型的服务器为例:
一个普通服务器一般可以配6块硬盘(每块硬盘选4T的),这样可以有24T的原始容量,再加上一些数据包口径的冗余和一些格式化的损失。所以保守估计,一台服务器至少也能存10T以上的数据。
再配上128g的内存、2个CPU,再装个数据库管理系统,微调一下,单表处理10亿条的数据就没有什么问题。
以上就是一个简单可行的单机数据处理方案。
实际上,这种单机方案目前也并未淘汰,如今也有很多公司都在继续沿用这种单机方案。
但是问题是,我们早已经进入了信息爆炸的时代,在另外一些场景下,数据量变得越来越大,大到一台机器已经存不下了。
一台机器存不下怎么办?其实很简单,一台机器存不下,那就用10台,10台存不下那就用100台。
所以问题就来了。
如果有100台机器去统一存储数据,那怎么去管理这100台机器呢?
毕竟人的精力是有限的,一个人怎么可能每天处理100台机器的数据存储任务呢?
这就好比,一个老板是不可能去直接对100个员工发号施令的,他要设立中层岗位,去帮助他管理这100个同事,好让大家融合成一个团队。
在Hadoop生态里面,HDFS就扮演这样一个中层管理的角色。
HDFS统一管理这100台机器上的存储空间,并提供一个接口,让这100台机器的存储空间看起来就像是在一台机器上,用户端会感觉这是一个无限大的存储空间,从而可以更方便地在上面写应用程序。
说完了数据存储,再聊聊数据计算。
毕竟数据存下来是为了算的,不可能单纯只是为了占硬盘内存。
那首先,上文说的那100台机器,每一台机器也都有自己的CPU内存,一个理想的愿景是,让这些计算资源得到最充分的利用,从而让数据计算可以更快的完成。
但问题来了。
如果你是一个程序员,你怎么去写程序,去操作这100台机器,然后通过协作完成一个完整的计算任务呢?
比如说,这些任务该怎么去分配到这些机器上?任务与任务之间怎么去做同步?如果这个过程中有一台机器掉链子了,怎么办?
为了解决这个问题,HDFS里面引入了一个模块,这就是大名鼎鼎的MapReduce,MapReduce模块本质上就是提供了一个任务并行计算的框架。
它可以把并行程序分成两个阶段,一个就是Map阶段,是一个是Reduce阶段。
这两个阶段,简单来讲:
如果你有一项任务,工作量很大,你找100个帮手把它平均分成100份,每人做一份,这就是Map阶段。
这100个小伙伴把任务完成,然后再把结果汇总到你这,然后从你这再出一个最终的结果,这就是Reduce阶段。
好了,至此我们可以看到,Hadoop里面有HDFS来处理存储,MapReduce来处理计算,一切貌似都齐备了,一切仿佛都很美好。
但是,技术发展的目标之一,就是要不断降低技术本身的使用门槛。
大家想象一下,在过去的单机数据库的时代,用户大部分都是可以用SQL语言去做数据处理的。
PS:SQL真的是一项很伟大的一个发明,它把数据处理的门槛下降了很多。
但是到了大数据的时代,大家发现不能写SQL了,如果要做数据处理,得去写一个MapReduce程序,这个MapReduce程序还得是一个非常专业的分布式处理的程序。
这其实是相当复杂的,需要大家具备很强的计算机背景和门槛的。
要是能在Hadoop上,也能通过写SQL就能完成数据处理的任务,那该多好啊!
于是,Hive就应运而生了。
Hive实际上是一个在Hadoop上进行结构化数据处理的解决方案,为了让用户能够写SQL来处理数据,数据就必须要进行结构化处理。SQL里面的S其实就是结构化处理的意思,如果不做结构化处理,我们就没法通过SQL查询数据了。
Hive里面的一个核心模块是metastore,它用来存储这些结构化的信息。简单来说就是一些表信息,比如说你有多少列?每个列是什么样的数据结构?然后Hive里面的执行引擎就会去把一条SQL语句进行语法分析,最后生成语法树。
这两个步骤实际上和普通的数据库没有什么区别,区别主要是在执行阶段Hive的执行引擎会把这个SQL语句翻译成一个MapReduce的任务去执行,然后再把执行结果进行加工返给用户。
这样一来,Hive就让一部分大数据开发工程师的工作就又变回了SQL了。
事实上,从工程的角度来看,效率和灵活性本身就是一对矛盾体。从Hive的这个例子里我们看出,SQL的出现使得大数据处理任务的开发效率提高了,但是在数据处理的表达力和灵活性上肯定是不如直接采用MapReduce。
因此,这两个技术也不是互相替代的关系,而是需要根据实际的场景去选择。
最后,再来说一下Spark。
Spark经常被用来和Hadoop进行对比,其实准确的说,应该是和Hadoop里面的MapReduce对比。
Spark本身也是一个计算框架,它和MapReduce不同就是,Spark基于内存计算,而MapReduce则是基于磁盘的计算。
因此Spark的优势就是快!
毕竟内存读取的速度要比磁盘读取的速度要快得多。
有多快呢?举一个比较极端的例子,如果你的数据集不大,机器的内存是可以装得下的,在这种极端的情况下,Spark甚至会比MapReduce能够快100倍。
即便放到一般场景下,Spark也会比MapReduce快23倍左右。
类似MapReduce有Hive可以让用户能够写SQL,Spark的生态里面也有SparkSQL的这个模块,去让用户在Spark上写SQL。
最后,Spark作为一个纯的计算引擎,还提供了其他的上层的抽象帮助用户去写其他类型的数据处理程序。比如说Spark提供了streaming的模块,可以让用户去写流处理的程序,提供了mllib内部的模块,让用户去写机器学习的程序以及图处理的模块GraphX。
当然这三个模块只是大数据生态里面的非常小的一部分,还有更多的更新的技术等大家自己去发掘。
最后附上一张结构图,以便于大家对以上内容做理解。
开头提到的大数据资源,涵盖了大数据基础、大数据架构、数据仓库、数据治理、bat真实案例,科研绘图与工具、大厂面试真题附含答案以及简历模板等众多干货。
需要领取的小伙伴,转发关注后私信大数据,联系小编获取资料。
你若微笑,世界温馨美好微笑,一个真诚纯朴自然恬静的微笑,不单单是一个人的面部表情,而是一种发自内心的明媚,一种善良纯粹的心态,一种淡定自信的气质,一种无声优雅的语言,一种甘甜馨香的韵味,一种移山填海的力
黄金一代最后一舞,克罗地亚比利时难复当年勇?世界杯解读F组F组球队比利时克罗地亚摩洛哥加拿大聚齐上届亚军和季军的小组强不强?按理说应该很强,但克罗地亚队和比利时队的黄金一代老了4岁,很难延续上届顽强晋级的表现。年轻的加拿大队和有球星坐镇的
广东江门打造世界一流轨道交通产业基地视频加载中白色的主体上一条条亮橙色线条贯穿车身,强烈的现代设计感扑面而来进入其中,全自动无人驾驶技术与随处可见的新材料设计,顿觉科技感拉满深圳轨道交通13号线首列车下线暨中车广东公
让你截图最多的人还留在你身边吗?一张截图就是一个故事大家好,好久不见,你们的奶糖又回来了。今天想分享的话题是我们啊,总以为截图能留下什么我们想留下什么呢?相信大家都截过好多的文字和语音条,长达几百分钟的语音通话低谷时收到的暖心回应腻
奇观!植物也出轨,一颗树结十多种果实近日浙江,一女子路过邻居门口无意间发现了一个结满桔子的果树,在生活中,自家种的树能结这么多果子已经很令人称羡,以为这个已经很惊艳了,万万没有想到是院子里面果树更让人羡慕。女子夸赞邻
当一个人不爱你了,才会有这样的表现人这一生最痛苦的事是,明明是对方先动心的,等你走心了,ta却变得冷漠又绝情。前后态度180度的转弯,冷酷狠心,只想快速地摆摊你,抽身离去。其实,当爱意消散的时候,是有迹可循的,爱不
东南亚峰会季哪些惊喜等着与会领导人?据美联社11月10日曼谷报道,从本周开始,世界各国领导人在亚洲连续参加会议时,有大量的礼物和惊喜在等着他们,包括柬埔寨领导人洪森为金边东盟峰会定制的手表二十国集团(G20)巴厘岛峰
原创奋力推进云南民族地区乡村振兴奋力推进云南民族地区乡村振兴省人大常委会调研组关于民族地区乡村振兴工作情况的调研报告云南省人大民族委员会(执笔人李丽)云南是我国少数民族最多特有民族最多跨境民族最多民族自治地方最多
李克强在第25次中国东盟领导人会议上的讲话(全文)在第25次中国东盟领导人会议上的讲话中华人民共和国国务院总理李克强(2022年11月11日,柬埔寨金边)尊敬的洪森首相,各位同事很高兴同大家相聚在美丽又充满活力的金边,出席第25次
李克强出席第25次中国东盟领导人会议当地时间11月11日下午,国务院总理李克强在柬埔寨金边出席第25次中国东盟(101)领导人会议。这是与会领导人集体合影。新华社记者岳月伟摄当地时间11月11日下午,国务院总理李克强
江苏银保监局部署开展情暖新市民银保伴你行金融服务宣传月活动中证网讯(王珞)为深入学习宣传贯彻党的二十大精神,增进公众尤其是新市民对相关金融产品和服务的了解,营造新市民金融服务的良好氛围,江苏银保监局近日决定于11月份在江苏全省开展主题为情
郑州433分文科上什么学院好呢?你好,非常荣幸为您解答!首先我们根据题主所给考分,评估一下考分级别河南近几年文科高考分数线情况2018年一本(547分)二本(436分)专科(200分)2017年一本(516分)二
有子宫肌瘤,可以吃鸡肉吗?子宫肌瘤这种良性肿瘤,对于忌口适当忌口,不用这么焦虑紧张恐惧,对于子宫肌瘤疾病本身以及身体健康来讲都是没有好处的。平衡心态,适当忌口,不要严酷忌口,况且子宫肌瘤确实也没什么值得忌口
互联网时代下,大家怎么看待互联网,说说你的想法?互联网是把双利剑,有利有弊,应该全面看待。优点1互联网增进人与人之间的交流,信息传播快,使交流更便捷更有时效性2是很好的传播媒介。方便了许多大型考试的报名和分数的查询,也能作为老师
有很多人视八九十岁的老人尿床为洪水猛兽,你们有何看法呢?如果你照顾过这样的老人,你也会同样的感受,不要拿老人和小孩比较,那真的完全不一样。我奶奶瘫痪在床六年,一开始虽然不能说话,但她可以啊啊地喊人,表示自己要大小便。但到了最后半年,她已
教师的教龄和工龄各怎么计算?教师的教龄和工龄在2006年之前,本没有区别,均指老师进入教育工作岗们之后的工作年年限,然而2006年教师工资进行改革,教师工资由岗位工资薪级工资地方性各种津贴乡补等多部分组成。而
你在旅行过程中用过哪些神器?我来说个比较偏门的。家里有坏的伞不要扔了,把伞面取下来。因为伞面一般都是防水的,我出门的时候都会折叠一两个放在包里,也不占地方。用处很大,去外面玩累了可以拿出来放地上隔水隔脏,可以
睡前应该什么都不涂,让皮肤彻底休息吗?睡觉前什么都不涂,皮肤虽然休息了,但是也得不到水份的滋养保湿,经过一夜的睡眠,皮肤就会变得更干燥,长期下去的话,皮肤会慢慢的暗淡无光,粗糙有细纹。所以在睡觉前,还是给皮肤应有的保养
咸菜可以吃吗,对健康有害吗?咸菜在山东半岛地区通常指辣芥菜头用盐腌制发酵而成的。因其容易保存,食用方便而被广泛老百姓认可而且咸菜因其腌制工艺不同,分为原味咸菜五香咸菜酱汁咸菜,低盐咸菜等。由于现代人民生活水平
有什么方法可以使皮肤变得透白?美白真的不能忽略!!!讲真的,自从我白了以后,真的感觉自己脱胎换骨了一样,整个人都自信了不少,就连我之前喜欢了好久的男孩子居然都来跟我表白了!工作领导都正眼看我了!还黑黢黢的妹子们
女生日常有哪些饮食小习惯,可以让自己皮肤变好,还能变瘦?如果你大部分时间遵循以下饮食原则,会让你更瘦皮肤更好,精神也好。1。避免过多糖分(白砂糖蜂蜜淀粉等一切在体内变成糖的东西)多吃糖老得快。如果你糖分吃的过多,会经常感到疲倦,懒惰或臃
农村很多老人患有慢性疾病,是否该引起社会关注?本来就应该重视和关注!这些人当年没有少为国家作岀贡献,把最好的粮食都交给了国家。每年每户还要向食品公司上交生猪一头。现在他们老了,理应给予适当的养老金和免费医疗及生活保障!农村老人