计算机系统应用教程网站

网站首页 > 技术文章 正文

Spark计算引擎 spark是基于什么计算引擎

btikc 2024-10-12 11:42:40 技术文章 9 ℃ 0 评论


Spark是一个基于MapReduce思想的分布式通用计算框架,相对于MapReduce,它的升华主要体现在处理结果驻留在了内存中(RDD,即分布式内存的概念,也是将数据进行切片,计算的中间结果驻留在内存中,可以设置切片数,也可以采用默认值),可以直接与客户端交互,而不是像mapReduce那样,将结果存于hdfs,然后客户端再与hdfs交互,这样可以大大减少磁盘IO的消耗,更适用与数据挖掘和机器学习任务。

Spark支持检查点,会对任务的执行链进行记录,一旦某个任务执行失败,会对其进行重新执行,而不是对整个链路进行执行,大大提升了任务的执行效率

Spark支持Java,Python等多种语言开发,并提供了很多高级操作符,方便了不同语言之间的交互

Spark主要分为四块:

Spark Sql:类似传统的sql查询,可以直接查询hive中的数据

Spark Streaming:批处理的流式计算框架,map和reduce的各种算子就集中在这里,这是一个具体处理业务逻辑的地方

Spark GraphX:分布式的图处理框架,提供了很多图计算和图挖掘的接口

Spark MLIib:可拓展的机器学习库,包括很多常用算法,例如分类回归,聚类协同,决策树,朴素贝叶斯等

Spark的工作流程:

任务控制节点向集群管理器申请资源,启动执行器,执行器将任务分解并执行,执行结果返回控制节点

在Spark中一个应用由一个任务控制器和多个作业组成,同时作业可以切分成多个阶段,阶段可以再次切分成多个任务,这个任务就是Spark的最小逻辑执行单元了,可以利用多线程进行并行执行

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表