Hive究竟是什么 Spark Hadoop 做算法要不要学

  • 电脑网络维修
  • 2024-11-15

大家好,我是梁唐。

最近我发现,很多萌新说着想要做算法工程师,然而却对这个岗位的要求以及上班内容无所不知。认为学一个Python,再学一些机器学习、深度学习的模型就可以胜任了。上班就是用Python不停地写模型。

显然,这样的想法是有疑问的,假设真这么干,即使经过了面试成功入职,也会干得十分痛苦。由于你会发现这也不知道那也不知道,做啥都很费力,要求一段很长的期间学习。而这种为了接待上班暂时抱佛脚的学习往往很难深化,有种不停打补丁的觉得。

当天就和大家聊聊算法工程师的几项基本功,看看除了算法和模型之外,还要求学些什么。

首先当然是hadoop,不过hadoop不是一门技术,而是一个大数据框架。它的logo是一只黄色的小象,听说是这个名目的创立者用女儿的玩具命名的。

经过了很多年的开展,如今hadoop框架曾经十分红熟,衍生出了一个庞大的家族。有多庞大呢,我在google里给大家找了一张图,大家可以看看感触一下,这外面有多少是自己知道的,有多少没听说过。

当然关于算法工程师来说,hadoop家族并不要求所有了解,只有要着重关注几个就可以了。

首先是hdfs,hdfs是hadoop框架中的散布式文件系统。由于在工业场景当中,数据量是十分庞大的,动辄TB甚至是PB量级。如此庞大的数据,显然无法能存在一块磁盘里,必定要散布式存储,分红不同的局部,不同的局部分开存储。经过hdfs咱们可以很繁难地成功这一点,可以经常使用一些繁难的shell命令治理大规模的数据。

hdfs的外部是分片(block)存储的,并且设计了谨严的容错机制,尽或许地保障了数据的准确性。普通咱们用hdfs存储一些离线数据,也就是对提前要求不高的数据,比如模型的训练数据。它的特点是存储才干很强,然而读取速度很慢,两边的提前很长。

由于训练数据的规模往往也十分庞大,并且从用户线上的实时行为转化成模型要求的输入,两边要求少量的计算步骤。这会带来渺小的计算压力,因此关于这样的数据,咱们往往都是借助于hdfs做离线处置。设计一套数据处置流程,启动若干步骤的处置,每一步处置的两边数据都存储在hdfs上。

模型训练的时刻,也经过挂载hdfs的方式间接读取tensor启动训练。

hdfs是hadoop的存储系统,hadoop雷同也推出过一套计算系统,就是MapReduce。

我在之前的文章曾经引见过MapReduce的原理,其实十分繁难,它将数据的计算环节形象成了两个步骤。一个步骤叫map,一个步骤叫reduce。

map步骤做的数据的映射,比如咱们从一个很大的json文件当中读取出咱们想要的字段,在这个步骤当中,咱们从json取得了几个字段。

reduce步骤做的是汇总,咱们把刚刚map阶段获取的结果,依照咱们的想法会聚在一同,比如计算平均数、中位数等等。

这个想法奇妙的中央在于map和reduce都是可以散布式启动的,比如map阶段,咱们可以对hdfs里的每一个文件都设置一个map读取文件启动处置。map阶段完结之后,咱们也可以起多个reducer对map的结果启动加工,尽或许造成了整个环节都是并发启动的,也就保障了数据的处置速度。

只管MapReduce的提出到如今曾经十多年了,但依然没有淘汰,还在很多场景当中宽泛经常使用。

hive也是hadoop家族外围的一员,它的思维也很奇妙,做了一件十分无利于程序员的事件。

经常使用hdfs以及MapReduce其实就足够接待简直一切大数据计算的场景了,然而足够接待并不代表接待起来很舒适。有些场景经常使用起来就不是很随手,比如说咱们要把两份数据关联在一同,一份是用户点击数据,一份是商品数据,咱们想要获取用户点过的商品消息。

你会发现经常使用MapReduce去做这样一件事件会十分蛋疼,要写很多代码。所以有人突发奇想,咱们能不能应用hdfs以及MapReduce做一套好用一点的数据处置系统,比如说将数据所有格局化,而后像是数据库一样经常使用SQL来启动数据的查问和处置?于是就有了hive。

hive底层的运算框架就是MapReduce,只不过有了表结构之后,很多之前很复杂的操作被大大简化了。尤其是数据表之间的join、groupby等操作,之前要求写少量MapReduce的代码,如今几行SQL就搞定了。

不过hive毕竟不是数据库,它的经常使用还是有一些它自己专属的奇淫技巧。比如说防止数据歪斜的状况,比如说设置正当的内存分片,比如说udf的经常使用等等。

只是懂SQL的语法是写不好hive的,多少还要求做一些深化的了解。

说到spark置信很多同窗也是久仰小名,它是一个十分驰名的开源集群计算框架,也可以了解成一个散布式计算框架。

spark在MapReduce的基础上对MapReduce当中的一些疑问启动了优化,比如MapReduce每次运算完结之后都会把数据存储在磁盘上,这会带来渺小的IO开支。

而spark经常使用了存储器内运算技术,可以尽量缩小磁盘的写入。这其中的技术细节看疑问没有相关,咱们只有要知道它的运算性能比MapReduce快很多就可以了,普通来说运算速度是MapReduce的十倍以上。并且spark原生允许hdfs,所以大局部公司都是经常使用hdfs做数据存储,spark来启动数据运算。

在hadoop推出了hive之后,spark也推出了自己的sparkSQL。不过起初hive也允许经常使用spark作为计算引擎替代MapReduce了,这两者的性能上差异也就很小了,我团体还是更青睐hive一点,毕竟写起来繁难。

另外spark除了计算框架之外,当中也兼容了一些机器学习的库,比如MLlib,不过我没有用过,毕竟如今机器学习的时代都快完结了。很少再有经常使用场景了,大家感兴味也可以了解一下。

总结

最后做一个繁难的总结,总体过去说想要成为一名合格的算法工程师,hadoop、MapReduce、hive这些或多或少都要求有所了解。不说能够知晓到原理级,但至少要求会用,大略知道外面怎样回事。

这也是工业界和试验室里的最大区别,毕竟学校里的试验数据量也不会很大,间接放在内存里就完事了。所以数据处置普通都是numpy +pandas什么的,然而在公司里,简直没有pandas的用武之地,毕竟数据量太大了,无法能都放内存里,必定要借助大数据计算平台来处置。

好了,就说这么多吧,感谢大家的阅读。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/8324.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号