【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述

这篇具有很好参考价值的文章主要介绍了【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一章 说明

整个Spark 框架分为如下7个部分,总的来说分为Spark 基础环境、Spark 离线分析和Spark实时分析三个大的方面,如下图所示:
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
第一方面、Spark 基础环境
主要讲述Spark框架安装部署及开发运行,如何在本地模式和集群模式运行,使用spark-shell及IDEA开发应用程序,测试及打包提交运行集群。
第二方面、Spark 离线分析

  • Spark 核心基础:SparkCore模块,主要讲解Spark框架核心数据结构RDD及重要函数使
    用,如何链式编程处理分析数据;
  • Spark 交互式分析:SparkSQL模块,针对结构化数据处理分析,将数据封装在DataFrame和Dataset,调用API或者使用SQL分析数据;
  • 离线综合案例:以DMP广告点击业务数据,对数据进行ETL解析和广告相关指标报表统计,集成Oozie和Hue调度执行应用,以及使用Livy使用Rest方式提交应用;
    第三方面、Spark 实时分析
  • Spark 流式分析:SparkStreaming模块,针对流式数据,采用微批处理Batch方式实时处理数据数据,可以无状态、有状态及窗口操作分析;
  • Spark 新型流式分析:StructuredStreaming模块,结构化流式处理框架,可以认为是使用SparkSQL编程方式处理流式的数据,更加灵活方便;
  • 实时综合案例:以仿双十一实时订单大屏为例,模拟实时产生订单数据发送Kafka,实时消费统计订单指标,保存结果至内存数据库Redis,以供前端大屏展示;将消费Kafka数据偏移量存储Zookeeper中,考虑实时应用的停止升级及测试环境的压力测试和性能优化。

第二章 Spark 框架概述

Spark 是加州大学伯克利分校AMP实验室(Algorithms Machines and People Lab)开发的通用大数据出来框架。Spark生态栈也称为BDAS,是伯克利AMP实验室所开发的,力图在算法(Algorithms)、机器(Machines)和人(Person)三种之间通过大规模集成来展现大数据应用的一个开源平台。AMP实验室运用大数据、云计算等各种资源以及各种灵活的技术方案,对海量数据进行分析并转化为有用的信息,让人们更好地了解世界。

Spark的发展历史,经历过几大重要阶段,如下图所示:
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
Spark 是一种快速、通用、可扩展的大数据分析引擎,2009 年诞生于加州大学伯克利分校
AMPLab,2010 年开源, 2013年6月成为Apache孵化项目,2014年2月成为 Apache 顶级项目,用 Scala进行编写项目框架。

2.1 Spark 是什么

定义:Apache Spark是用于大规模数据(large-scala data)处理的统一(unified)分析引擎。

官方网址:http://spark.apache.org/、https://databricks.com/spark/about

【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
官方定义:
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述

Spark 最早源于一篇论文 Resilient Distributed Datasets: A Fault-Tolerant Abstraction for
In-Memory Cluster Computing,该论文是由加州大学柏克莱分校的 Matei Zaharia 等人发表的论文中提出了一种弹性分布式数据集(即 RDD)的概念,原文开头对其的解释是:
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
翻译过来就是:RDD 是一种分布式内存抽象,其使得程序员能够在大规模集群中做内存运算,并且有一定的容错方式。而这也是整个 Spark 的核心数据结构,Spark 整个平
台都围绕着RDD进行。
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述

2.2 Spark 四大特点

Spark 使用Scala语言进行实现,它是一种面向对、函数式编程语言,能够像操作本地集合一样轻松的操作分布式数据集。Spark具有运行速度快、易用性好、通用性强和随处运行等特点。
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
速度快
由于Apache Spark支持内存计算,并且通过DAG(有向无环图)执行引擎支持无环数据流,所以官方宣称其在内存中的运算速度要比Hadoop的MapReduce快100倍,在硬盘中要快10倍。
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述

Spark处理数据与MapReduce处理数据相比,有如下两个不同点:

  • 其一、Spark处理数据时,可以将中间处理结果数据存储到内存中;
    【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述

  • 其二、Spark Job调度以DAG方式,并且每个任务Task执行以线程(Thread)方式,并不是像MapReduce以进程(Process)方式执行。

【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
2014 年的如此Benchmark测试中,Spark 秒杀Hadoop,在使用十分之一计算资源的情况下,相同数据的排序上,Spark 比Map Reduce快3倍!
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
易于使用
Spark 的版本已经更新到 Spark 2.4.5(截止日期2020.05.01),支持了包括 Java、Scala、
Python 、R和SQL语言在内的多种语言。

通用性强
在 Spark 的基础上,Spark 还提供了包括Spark SQL、Spark Streaming、MLib 及GraphX在
内的多个工具库,我们可以在一个应用中无缝地使用这些工具库。其中,Spark SQL 提供了结构化的数据处理方式,Spark Streaming 主要针对流式处理任务(也是本书的重点),MLlib提供了很多有用的机器学习算法库,GraphX提供图形和图形并行化计算。
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
运行方式
Spark 支持多种运行方式,包括在 Hadoop 和 Mesos 上,也支持 Standalone的独立运行模
式,同时也可以运行在云Kubernetes(Spark 2.3开始支持)上。
对于数据源而言,Spark 支持从HDFS、HBase、Cassandra 及 Kafka 等多种途径获取数据。
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述

2.3 Spark 框架模块

整个Spark 框架模块包含:Spark Coke、 Spark SQL、 Spark Streaming、 Spark GraphX、Spark MLlib,而后四项的能力都是建立在核心引擎之上 。
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
Spark Core
实现了 Spark 的基本功能,包含RDD、任务调度、内存管理、错误恢复、与存储系统交互等模块。数据结构:RDD

Spark SQL
Spark 用来操作结构化数据的程序包。通过 Spark SQL,我们可以使用 SQL操作数据。数据结构:Dataset/DataFrame = RDD + Schema
官网:http://spark.apache.org/sql/

Spark Streaming
Spark 提供的对实时数据进行流式计算的组件。提供了用来操作数据流的 API。 数据结构:DStream = Seq[RDD]
官网:http://spark.apache.org/streaming/

Spark MLlib
提供常见的机器学习(ML)功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能。 数据结构:RDD或者DataFrame
官网:http://spark.apache.org/mllib/

Spark GraphX
Spark中用于图计算的API,性能良好,拥有丰富的功能和运算符,能在海量数据上自如地运行复杂的图算法。数据结构:RDD或者DataFrame
官网:http://spark.apache.org/graphx/
在Full Stack 理想的指引下,Spark 中的Spark SQL 、SparkStreaming 、MLLib 、GraphX 几大子框架和库之间可以无缝地共享数据和操作,这不仅打造了Spark 在当今大数据计算领域其他计算框架都无可匹敌的优势,而且使得Spark 正在加速成为大数据处理中心首选通用计算平台。

Structured Streaming
Structured Streaming结构化流处理模块针对,流式结构化数据封装到DataFrame中进行分析。
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
Structured Streaming是建立在SparkSQL引擎之上的可伸缩和高容错的流式处理引擎,可以像操作静态数据的批量计算一样来执行流式计算。当流式数据不断的到达的过程中Spark SQL的引擎会连续不断的执行计算并更新最终结果。简而言之,Structured Streaming提供了快速、可伸缩、可容错、端到端精确的流处理。
官网:http://spark.apache.org/docs/2.4.5/structured-streaming-programming-guide.html

2.4 Spark 运行模式

Spark 框架编写的应用程序可以运行在本地模式(Local Mode)、集群模式(Cluster Mode)和云服务(Cloud),方便开发测试和生产部署。
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
第一、本地模式:Local Mode
将Spark 应用程序中任务Task运行在一个本地JVM Process进程中,通常开发测试使用。
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述
第二、集群模式:Cluster Mode
将Spark应用程序运行在集群上,比如Hadoop YARN集群,Spark 自身集群Standalone及Apache Mesos集群,网址:http://spark.apache.org/docs/2.4.3/

  • Hadoop YARN集群模式(生产环境使用):运行在 yarn 集群之上,由 yarn 负责资源管理,Spark 负责任务调度和计算,好处:计算资源按需伸缩,集群利用率高,共享底层存储,避免数据跨集群迁移。
  • Spark Standalone集群模式(开发测试及生成环境使用):类似Hadoop YARN架构,典型的Mater/Slaves模式,使用Zookeeper搭建高可用,避免Master是有单点故障的。
  • Apache Mesos集群模式(国内使用较少):运行在 mesos 资源管理器框架之上,由mesos 负责资源管理,Spark 负责任务调度和计算

第三、云服务:Kubernetes 模式
中小公司未来会更多的使用云服务,Spark 2.3开始支持将Spark 开发应用运行到K8s上。
【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述文章来源地址https://www.toymoban.com/news/detail-500883.html

到了这里,关于【Spark分布式内存计算框架——Spark 基础环境】1. Spark框架概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式计算框架:Spark、Dask、Ray

    目录 什么是分布式计算 分布式计算哪家强:Spark、Dask、Ray 2 选择正确的框架 2.1 Spark 2.2 Dask 2.3 Ray 分布式计算是一种计算方法,和集中式计算是相对的。 随着计算技术的发展, 有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成

    2024年02月06日
    浏览(32)
  • 云计算与大数据第16章 分布式内存计算平台Spark习题

    1、Spark是Hadoop生态(  B  )组件的替代方案。 A. Hadoop     B. MapReduce        C. Yarn             D.HDFS 2、以下(  D  )不是Spark的主要组件。 A. Driver      B. SparkContext       C. ClusterManager D. ResourceManager 3、Spark中的Executor是(  A  )。 A.执行器      B.主节

    2024年02月14日
    浏览(45)
  • 大数据开源框架环境搭建(七)——Spark完全分布式集群的安装部署

    前言:七八九用于Spark的编程实验 大数据开源框架之基于Spark的气象数据处理与分析_木子一个Lee的博客-CSDN博客_spark舆情分析 目录 实验环境: 实验步骤: 一、解压 二、配置环境变量:  三、修改配置文件  1.修改spark-env.sh配置文件: 2.修改配置文件slaves: 3.分发配置文件:

    2024年02月11日
    浏览(32)
  • Spark单机伪分布式环境搭建、完全分布式环境搭建、Spark-on-yarn模式搭建

    搭建Spark需要先配置好scala环境。三种Spark环境搭建互不关联,都是从零开始搭建。 如果将文章中的配置文件修改内容复制粘贴的话,所有配置文件添加的内容后面的注释记得删除,可能会报错。保险一点删除最好。 上传安装包解压并重命名 rz上传 如果没有安装rz可以使用命

    2024年02月06日
    浏览(56)
  • 分布式计算MapReduce | Spark实验

    题目1 输入文件为学生成绩信息,包含了必修课与选修课成绩,格式如下: 班级1, 姓名1, 科目1, 必修, 成绩1 br (注: br 为换行符) 班级2, 姓名2, 科目1, 必修, 成绩2 br 班级1, 姓名1, 科目2, 选修, 成绩3 br ………., ………, ………, ………, ……… br 编写两个Hadoop平台上的MapRed

    2024年02月08日
    浏览(37)
  • Hadoop(伪分布式)+Spark(local模式)搭建Hadoop和Spark组合环境

    环境 使用 Ubuntu 14.04 64位 作为系统环境(Ubuntu 12.04,Ubuntu16.04 也行,32位、64位均可),请自行安装系统。 Hadoop版本 : Hadoop 2.7.4 创建hadoop用户 如果你安装 Ubuntu 的时候不是用的 \\\"hadoop\\\" 用户,那么需要增加一个名为 hadoop 的用户。 首先按 ctrl+alt+t 打开终端窗口,输入如下命令创

    2023年04月08日
    浏览(56)
  • spark 基于物理机centos7环境搭建分布式集群

    非生产环境,就使用一个新一点的版本,提前先踩踩坑,版本的选型真是一个头疼的问题,先看一下apache的官网的测试图: 伪分布式看这里: 配置之前:若是用伪分布式时,在本机必须生成key-gen 与ssh-copy-id到本机,且hosts中必须加入127.0.0.1  本机名并关闭防火墙这几步才可

    2024年02月03日
    浏览(53)
  • 【Centos8_配置单节点伪分布式Spark环境】

    安装centos8 jdk 部署伪分布式spark环境 下载jdk linux版本 下载链接: jdk-8u381-linux-x64.tar.gz 将该文件上传到Centos8 主机 部署配置jdk(java8) 详细的Hadoop伪分布式配置 这里不是重点,如果感兴趣,请参照文后参考链接 上传spark到centos8 解压spark到指定目录 配置spark伪分布式环境 开启

    2024年02月10日
    浏览(29)
  • 分布式服务框架_Zookeeper--管理分布式环境中的数据

    安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网   http://hadoop.apache.org/zookeeper/ 来获取, Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。 单机模式

    2024年02月12日
    浏览(30)
  • 如何使用Spark/Flink等分布式计算引擎做网络入侵检测

    ⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟 🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿 个人网站:https://jerry-jy.co/ 本篇博客是我在做 基于Spark/Flink大数据环境下网络入

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包