三者都是基于mapreduce架构,属于三代产品,一代是hadoop,二代hive,三代是spark。
Hadoop是MapReduce一代,分为两大部分:HDFS、Mapreduce。
HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
由于hadoop编写mapreduce比较繁琐,于是出现了第二代hive,只需要编写简单的sql就能操作mapreduce运算。
hive的出现方便了程序员和没有计算机背景的数据分析人员。我们只需要编写相对简单的sql命令,hive会帮我们翻译为mapreduce程序交给计算机去执行。
但是一代hadoop与二代hive存在一个共同的问题就是每次执行都是从磁盘中读取导致运行时间太长,无法实时输出结果,这时候三代spark出现了,
spark则是直接从内存中读取的。由于MapReduce 的框架限制,一个 MapReduce 任务只能包含一次 Map 和一次 Reduce,计算完成之后,MapReduce 会将运算结果写回到磁盘中(更准确地说是分布式存储系统)供下次计算使用。如果所做的运算涉及大量循环,比如估计模型参数的梯度下降或随机梯度下降算法就需要多次循环使用训练数据,那么整个计算过程会不断重复地往磁盘里读写中间结果。这样的读写数据会引起大量的网络传输以及磁盘读写,极其耗时,而且它们都是没什么实际价值的废操作。因为上一次循环的结果会立马被下一次使用,完全没必要将其写入磁盘。网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?