当前位置: 首页 > article >正文

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

                                               初识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的容错机制和设置检查点的容错机制,弥补了数据在内存处理时断电丢失的问题。

http://www.lryc.cn/news/2417648.html

相关文章:

  • RabbitMQ介绍及部署(超详细讲解)
  • SQL Server详细使用教程:安装步骤、必备知识点与常见问题解析
  • 手把手教你安装CUDA(一看就会)
  • uni-app小程序开发实战 | (从零设计一款个人中心页面,最详细)
  • 狗都不学系列——虚拟机的基本使用
  • Transformer模型初解(非常详细)零基础入门到精通,收藏这一篇就够了
  • Canvas基础: fillStyle和strokeStyle示例
  • 密码学--md5加密
  • FileZilla工具的使用以及主动模式与被动模式
  • 快速了解Spring(超详细+干货满满)
  • 【TS】2134- 重新学习 TypeScript 类型系统
  • ce Cheat Engine 环境搭建
  • Nopepad++使用教程
  • 深入理解Electron一Electron架构介绍
  • Elasticsearch-基础介绍及索引原理分析
  • VMware16Pro虚拟机安装教程(超详细)
  • python下载安装教程电脑版,Python下载安装后找不到
  • 使用MobaXterm ssh免密远程连接虚拟机
  • WEPE系统安装纯净版window11教程(包含pe内系统安装方法)
  • 【Unity3D】Unity3D学习笔记
  • 最新Node.js安装详细教程及node.js配置
  • base64编码解码器【C++】
  • Git指南(一)
  • IDE开发工具Idea使用
  • mysql知识点详细总结
  • 算法笔记(一)—— KMP算法练习题
  • vue-必备知识点,图文详解
  • VSCode初级使用教程详细版
  • 科技概念/名词解释
  • 计算机毕设ssm基于BS的高校学生毕业去向管理系统的设计与实现3l47e9(源码+数据库+LW)