Spark的概念、特点、应用场景

17 篇文章 0 订阅
13 篇文章 0 订阅

                                               初识Spark

一.Spark概述

Spark于2000年诞生于美国加州大学伯克利分校的AMP实验室,它是一个可应用于大规模数据处理的统一分析引擎。

它是基于内存计算的大数据并行计算框架🎈🎈🎈

Spark生态系统主要包含Spark Core. Spark SQL. Spark Streaming MI lib GraphX以及独立调度器:

介绍:

  1. Spark Core:Spark核心组件,它实现了Spark的基本功能。
  2. Spark SQL:用来操作结构化数据的核心组件:通过Spork sqL可以直接在查询Hive.HBase 等多种外部数据源中的数据。Spark SQL的重要特点是能够统一处理关系表和RDD.在处理结构化数据时,开发人员无须编写MapReduce程序.直接使用SQL命令就能完成更加复杂的数据查询操作。
  3. Spurtk Streamng: Spark提供的流式计算框架,支持高吞吐量、可容错处理的实时流式数据处理。SparkStreaming支持多种数据源,如Kafka、Flume以及TCP套接字等
  4. MLlib: Spark提供的关于机器学习功能的算法程序库,包括分类、回归、聚类、协同过滤算法等.
  5. GraphX、Spark提供的分布式图处理框架.拥有图计算和图挖掘算法的API接口以及丰高的功能和运算符。
  6. 独立调度器、Yarn、Mesos: .Spark支持在各种集群管理器(Cluster Manager)上运行,Hadoop Yarn、 Apache Mesos以及Spark 自带的独立调度器都被称为集群管理器。

Spork生态系统各个组件关系密切,并且可以相互调用,这样设计具存以下是著优势:

  1. Spark生态系统包含的所有程序库和高级组件都可以从Spark核心引擎的改进中获益
  2. 不需要运行多套独立的软件系统,能够大大减少运行整个系统的资源代价。
  3. 能够无缝整合各个系统,构建不同处理模型的应用。

Spark框架对大数据的支持从内存计算、实时处理到交互式查询,进而发展 到图计算和机器学习模块。

二.Spark的特点

Spark计算框架在处理数据时,所有的中间数据都保存在内存中。

同时Spark还兼容HDFS.Hive,可以很好地与Hadop系统融合.

Spark具有以下几个显著的特点:

  1. 速度快基于内泛计算

与Hadoop相比.Spark基于内存的运算效事要快100倍以上,基于硬盘的运算效率也要快10倍以上。

  1. 易用性

Spark编程支持Java、Python、Scala及R语言,并且还拥有超过80种高级算法.除此之外:Spark还支持交互式的Shell操作.

  1. 通用性

Spark提供了统一的解决方案,适用于批处理、交互式查询(Spark SQL)、 实时流处理 (Spark Streaming)、机器学习(Spark MEhb和图计算(GraphX)。

  1. 兼容性

Spark可以运行在Hadoop模式、Mesos模式、Standalone独立模式或Cloud中,并且还可以访问各种数据源包括本地文件系统、HDFS.Cassandra、HBase和Hive等。

三.Spark 应用场景

(1)在数据科学应用中 ,数据工程师可以利用Spark进行数据分析与建模

(2)在数据处理应用中,大数据工程师将Spark技术应用于广告、报表、推荐系统等业务中

(3)Spark拥有完整而强大的技术栈,如今已吸引了国内外各大公司的研发与使用,淘宝技术团队使用Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等问题,应用于商品推荐、社区发现等功能。

四.Spark于Hadoop对比

Hadoop与Spark都是大数据计算框架,但是两者各有自己的优势,Spark与Hadop的区别主要有以下几点:

  1. 编程方式

Hadoop的MapReduce在计算数据时计算过程必须要转化为Map和Reduce两个过程,从而难以描述复杂的数据处理过程:而Spark的计算模型不局限于Map和Reduce操作,还提供了多种数据集的操作类型,编程模型比MapReduce更加灵活。

  1. 数据存储

Hadoop 的MapReduce进行计算时.每次产生的中间结果都是存储在本地磁盘中:而Spark在计算时产生的中间结果存储在内存中。

  1. 数据处理

Hadoop在每次执行数据处理时,都需要从磁盘中加载数据,导致磁盘的1/0开销较大;而Spark在执行数据处理时,只需要将数据加载到内存中,之后直接在内存中加载中间结果数据集即可,减少了磁盘的I/O开销。

  1. 数据容错

MapReduce计算的中间结果数据保存在磁盘中,并且Hadoop框架底层实现了备份机 制,从而保证了数据容错:同样Spark RDD实现了基于Lineage的容错机制和设置检查点的容错机制,弥补了数据在内存处理时断电丢失的问题。

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
Spark应用场景包括以下几个方面: - 批处理:Spark可以高效地处理大规模数据集的批处理任务,例如数据清洗、ETL处理和数据仓库构建等。它通过并行计算和内存缓存等技术,提供了比传统批处理框架更快速和可靠的数据处理能力。 - 实时数据处理:Spark Streaming模块可以实时地处理数据流,常用于实时数据分析、实时推荐系统和实时监控等场景。它可以处理从各种数据源获取的连续数据流,并实时生成处理结果。 - 交互式查询:Spark SQL模块提供了类似于传统数据库的SQL查询功能,可以对大规模数据集进行交互式的查询和分析。它支持多种数据源,包括Hive、HBase和关系型数据库等,适用于数据探索、数据挖掘和数据可视化等任务。 - 机器学习:Spark的MLlib模块提供了丰富的机器学习算法和工具,可以高效地处理大规模的机器学习任务。它支持常见的机器学习任务,包括分类、回归、聚类和推荐等,并提供了分布式计算和模型评估等功能。 - 图计算:Spark的GraphX模块提供了图计算的功能,可以处理大规模的图结构数据。它支持图的构建、遍历、分析和图算法的实现,适用于社交网络分析、网络关系挖掘和知识图谱构建等领域。 综上所述,Spark应用场景涵盖了大数据处理、实时数据处理、交互式查询、机器学习和图计算等多个领域。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [浅聊Spark应用场景有哪些?](https://blog.csdn.net/weixin_34226182/article/details/93022622)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Spark概念特点应用场景](https://blog.csdn.net/m0_57781407/article/details/126079616)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发量不足

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值