Spark入门

Spark入门

​ Spark是用scala语句实现,是一种快速运行在廉价集群中的计算引擎,他提供了高级的Java API,同时支持Scala , Python 和R等多种语言,同时他也拥有高级组件如用于处理结构化数据的Spark Sql,机器学习算法库MLlib,实时流数据处理Spark Streaming,以及图计算框架Graphx
在这里插入图片描述

Spark特点

1.高速性

​ park在内存中对数据进行迭代计算如果数据由内存读取是hadoop MapReduce的100倍。Spark是基于内存的迭代计算框架,而Hadoop在进行I/O操作时,会将数据放入到磁盘中,使得计算速度减慢。

在这里插入图片描述
2.易用性

​ Spark 提供了80多个高级运算符。

3.通用性

​ Spark 提供了大量的库,包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。 开发者可以在同一个应用程序中无缝组合使用这些库。

4.支持多种资源管理器

​ Spark 支持 Hadoop YARN,Apache Mesos,及其自带的独立集群管理器

Spark框架

在Spark框架,采用分布式计算中的Master-Slave模型,Master是对应集群中的含有Master进程的节点,Slave是集群中含有Worker进程的节点。

​ Master是整个集群的控制器,负责整个集群的正常运行,Worker是计算节点,负责接收主节点命令与金星状态汇报。

在这里插入图片描述

Spark的架构中的基本组件:

  • Cluster Manager:在standalone模式中即为Master主节点,控制整个集群,监控worker。在YARN模式中为资源管理器(ResourceManager)
  • Worker:从节点,负责控制计算节点,启动Executor或者Driver。在YARN模式中为NodeManager,负责计算节点的控制。
  • Driver:运行Application的main()函数并创建SparkContext。
  • Executor:执行器,在worker node上执行任务的组件、用于启动线程池运行任务。每个Application拥有独立的一组Executor。
  • SparkContext:整个应用的上下文,控制应用的生命周期。
  • RDD:Spark的基础计算单元,一组RDD可形成执行的有向无环图RDD Graph。
  • DAG Scheduler:根据作业(task)构建基于Stage的DAG,并提交Stage给TaskScheduler。
  • TaskScheduler:将任务(task)分发给Executor执行。
  • SparkEnv:线程级别的上下文, 存储运行时的重要组件的引用。

常用术语:

  • Application:Application都是指用户编写的Spark应用程序,其中包括一个Driver功能的代码和分布在集群中多个节点上运行的Executor代码

  • Driver:Spark中的Driver即运行上述Application的main函数并创建SparkContext,创建SparkContext的目的是为了准备Spark应用程序的运行环境,在Spark中有SparkContext负责与ClusterManager通信,进行资源申请、任务的分配和监控等,当Executor部分运行完毕后,Driver同时负责将SparkContext关闭,通常用SparkContext代表Driver

  • Executor:某个Application运行在worker节点上的一个进程,该进程负责运行某些Task,并且负责将数据存到内存或磁盘上,每个Application都有各自独立的一批Executor,在Spark on Yarn模式下,其进程名称为CoarseGrainedExecutor Backend。一个CoarseGrainedExecutor Backend有且仅有一个Executor对象,负责将Task包装成taskRunner,并从线程池中抽取一个空闲线程运行Task,这个每一个CoarseGrainedExecutor Backend能并行运行Task的数量取决于分配给它的cup个数

  • Cluster Manager:指的是在集群上获取资源的外部服务。如standalone Apache Mesos Hadoop Yarn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值