当前位置: 华文问答 > 数码

如何用形象的比喻描述大数据的技术生态?Hadoop、Hive、Spark 之间是什么关系?

2015-09-05数码

2023-11-22 更新说明,由于工作繁忙几乎没时间更新,大家有遇到自己业务场景的问题可以评论,本人才疏学浅,但如果有解决过类似问题我会回答。

Hadoop只是一套工具的总称,它包含三部分:HDFS,Yarn,MapReduce,功能分别是分布式文件存储、资源调度和计算。

按理来说,这就足够了,就可以完成大数据分析了。

但第一个问题就是麻烦。这一套相当于用Yarn调度资源,读取HDFS文件内容进行MR计算。要写Java代码,但做数据的最好的工具是什么?SQL!所以Hive相当于这一套标准流程的SQL化。

Hive可以简单理解为,Hadoop之上添加了自己的SQL解析和优化器,写一段SQL,解析为Java代码,然后去执行MR,底层数据还是在HDFS上。

这看起来挺完美,但问题是程序员发现好慢啊。原因是MR,它需要频繁写读文件。这时基于内存的Spark出现了,Spark是替代MR的,它会为SQL生成有向无环图,加上各种算子和宽窄依赖的优化,使得计算速度达到了新的高度。

按理说这就完美解决了呀