Spark工作原理及基础概念(超详细!)

本文详细介绍了Apache Spark的概述、基本原理、运行模式和集群角色,以及与MapReduce、Storm、Hive的对比。Spark作为一种通用的大数据快速处理引擎,以其内存计算和一站式解决方案著称,提供Spark Core、Spark SQL、Spark Streaming等功能。文章还探讨了Spark的计算速度、容错性、迭代式处理等特性,并阐述了Spark在Hadoop生态中的地位。同时,解释了Spark的运行模式如local、standalone、Yarn和Mesos,以及Spark程序在Yarn上的执行流程。此外,文章通过WordCount程序展示了如何使用Java和Scala进行Spark开发。
摘要由CSDN通过智能技术生成

目录

一、Spark概述

(1)概述

Spark,是一种"One Stack to rule them all"的大数据计算框架,期望使用一个技术堆栈就完美地解决大数据领域的各种计算任务。Apache官方,对Spark的定义就是:通用的大数据快速处理引擎。
Spark使用Spark RDD、Spark SQL、 Spark Streaming,MLlib,GraphX成功解决了大数据领城中,离线批处理、交互式查询、实时流计算、机器学习与图计算等最重要的任务和问题。
Spark除了一站式的特点之外,另外一个最重要的特点,就是基于内存进行计算,从而让它的速度可以达到MapReduce、Hive的数倍甚至数十倍!
现在已经有很多大公司正在生产环境下深度地使用Spark作为大数据的计算框架,包括eBay.Yahool、 BAT、网易、京东、华为、大众点评、优酷土豆、搜狗等等。
Spark同时也获得了多个世界顶级IT厂商的支持,包括IBM、 Intel等。

Spark,是一种通用的大数据计算框架,I正如传统大数据技术Hadoop的MapReduce、Hive引擎,以及Storm流式实时计算引擎等,
Spark包含了大数据领城常见的各种计算框架:比如Spark Core用于离线计算,Spark SQL用于交互式查询,Spark Streaming用于实时流式计算,Spark MILlib用于机器学习,Spark GraphX用于图计算。
Spark主要用于大数据的计算,而Hadoop以后主要用于大数据的存储(比如HDFS、Hive,HBase等),以及资源调度(Yarn)。
Spark+Hadoop的组合,是未来大数据领域最热门的组合,也是最有前景的组合!

(2)Spark整体架构

在这里插入图片描述

(3)Spark特性

在这里插入图片描述

(1)spark 计算速度快

spark将每个任务构建成DAG进行计算,内部的计算过程通过弹性式分布式数据集RDD在内存在进行计算,相比于hadoop的mapreduce效率提升了100倍。

(2)易于使用

spark 提供了大量的算子,开发只需调用相关api进行实现无法关注底层的实现原理。

通用的大数据解决方案

相较于以前离线任务采用mapreduce实现,实时任务采用storm实现,目前这些都可以通过spark来实现,降低来开发的成本。同时spark 通过spark SQL降低了用户的学习使用门槛,还提供了机器学习,图计算引擎等。

(3)支持多种的资源管理模式

学习使用中可以采用local 模型进行任务的调试,在正式环境中又提供了standalone,yarn等模式,方便用户选择合适的资源管理模式进行适配。

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spark是一种基于内存的分布式计算框架,它可以在大规模数据集上进行高效的数据处理和分析。Spark的核心概念包括RDD(弹性分布式数据集)、DAG(有向无环图)、转换操作和行动操作等。 RDD是Spark的核心数据结构,它是一个不可变的分布式数据集,可以在集群中进行并行处理。RDD可以通过转换操作(如map、filter、reduce等)进行数据的转换和处理,也可以通过行动操作(如count、collect、save等)将处理结果返回给驱动程序。 DAG是Spark的执行计划,它是一个有向无环图,描述了RDD之间的依赖关系和转换操作的执行顺序。Spark会根据DAG自动进行任务调度和数据分区,以实现高效的并行计算。 转换操作是对RDD进行转换和处理的操作,它们是惰性求值的,即只有在行动操作被调用时才会执行。常见的转换操作包括map、filter、reduce、join等。 行动操作是对RDD进行计算和返回结果的操作,它们会触发Spark的计算过程,并将结果返回给驱动程序。常见的行动操作包括count、collect、save等。 Spark还支持广播变量和累加器等高级特性,可以进一步提高计算效率和性能。广播变量可以将一个只读的变量广播到所有节点上,避免重复传输和计算;累加器可以在并行计算中进行全局的计数和累加操作。 总之,Spark工作原理是基于RDD、DAG、转换操作和行动操作等核心概念,通过自动任务调度和数据分区实现高效的分布式计算。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值