大数据系列 | 白话讲解大数据技术生态中Hadoop、Hive、Spark的关系介绍

   大数据属于数据管理系统的范畴,数据管理系统无非就两个问题:数据怎么存、数据怎么算

   现在的信息爆炸时代,一台服务器数据存不下,可以找10台服务器存储,10台存储不下,可以再找100台服务器存储。但是这100台存储怎么管理呢?就好比一个公司有100名员工,老板如何管理这100名员工呢,所以就需要招个经理去管理这100名员工。

   在Hadoop中HDFS去扮演经理这样的角色,HDFS去统一管理这100台服务器上的存储空间,然后提供一个接口,让外部感觉到这100台服务器的存储空间就像一个大存储池一样。

   数据存储下来,接下来就需要去计算。要么存储数据有什么用呢,接下来就需要写一个程序来利用这100台服务器的CPU和内存资源,同时也需要考虑任务如何均匀的分配到这100台服务器中去运行,而且还要需要考虑服务器出现故障后任务的再分配问题,为了解决这些复杂的问题,所以HDFS里面引入了一个模块叫MapReduce。MapReduce提供了一个并行计算的框架,通过它的API可以让上层应用程序将任务分成两个阶段:Map阶段和Reduce阶段。Map阶段就是你有很大的任务,需要找1000个帮手去帮你完成,每人做一份,这就是Map阶段。Reduce阶段就是1000个帮手把任务完成,然后再把结果汇总到你这,然后你再出一个最终结果,这就是Reduce阶段

   现在HDFS处理存储,MapReduce处理计算,看起来很美好,但是以前工程师都是用SQL来处理数据的,但是到大数据时代呢,工程师不能写SQL了,要开始写MapReduce程序了,而且还是分布式处理的程序,这个就给程序员增加了很大的难度。所以对这批工程师的诉求就是能不能也在Hadoop上写SQL,于是Hive就出现了。Hive是一个在Hadoop上进行结构化数据处理(用户能够使用写SQL处理结构化数据)的解决方案。

   Hive里面的一个核心模块就是metastore,它是用来存储这些结构化的信息的,简单来说就是一些表信息、有多少列、每一列是什么样的数据结构等等。Hive里面的执行引擎会把SQL语句进行语法分析,生成语法树。也就是Hive引擎会把这个SQL语句翻译成MapReduce的任务去执行,然后再把执行的结果进行加工,返给用户。这就是一个在Hive里面用SQL去处理数据的过程。Hive的出现使得大数据处理任务的开发效率提高了,但是在数据处理的表达力和灵活性上肯定是不如直接写MapReduce程序的,因此这两个技术也不是相互替代的关系,需要根据实际的场景去选择。

   Spark经常和Hadoop做对比,其实精确的说应该是和Hadoop的MapReduce做对比,Spark也是一个计算框架,它和MapReduce主要的不同就是Spark是一个基于内存的,MapReduce是一个基于磁盘计算的,所以Spark的卖点就是快。Spark和MapReduce都提供了API,可以让开发者去写一些数据处理的程序进行对接。在Spark中也有Spark SQL模块可以让程序员写SQL语句来进行数据处理,当然Spark还提供了其他很多模块可以使用。

相关推荐
Elastic 中国社区官方博客2 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
abcy0712132 小时前
storm核心实时机制
大数据·storm
灵机一物2 小时前
合伙制律所分红和提成律师个税怎么合规优化?
大数据·人工智能
Elastic 中国社区官方博客5 小时前
如何使用 OpenTelemetry 对你的搜索 API 进行埋点,并使用 ES|QL 对其进行查询
大数据·功能测试·elasticsearch·搜索引擎·全文检索·可用性测试
Xzaveir_7776 小时前
OPPO、vivo、荣耀号码认证:多终端拨测矩阵与异常复现
大数据·网络·科技·矩阵·产品经理·ai-native
老徐聊GEO6 小时前
亲测有效的AI品牌检测公司案例分享
大数据·人工智能·python
韭菜学长6 小时前
科技型中小企业如何申请政府补贴?申报指南
大数据·人工智能
延凡科技6 小时前
智慧燃气解决方案:管道煤气监管应用管理系统(三维GIS+IoT+大数据落地实战)
大数据·人工智能·科技·物联网·安全
imbackneverdie7 小时前
知网官宣:禁止 AI 列为论文署名作者,标注 Gemini、DeepSeek 等 AI 为作者的稿件统一下架
大数据·人工智能·ai·职场和发展·aigc·科研·高校
@insist1237 小时前
信息系统管理工程师-数字化转型成熟度模型核心考点解析
大数据·人工智能·软考·软件水平考试·信息系统管理工程师·软考信管