Spark基础(一)简介

Spark简介

spark 一个通用的计算引擎,专门为大规模数据处理而设计,与 mapreduce 类似,不同的是,mapreduce 把中间结果 写入 hdfs,而 spark 直接写入 内存,这使得它能够实现实时计算。

spark 由 scala 语言开发,他能够和 scala 完美结合,同时实现了 java、python、R 等接口。

Spark搭建

spark 有 3 种搭建模式

Local 模式: 即单机模式,这种安装加压即可,具体安装方法穿插在 Standalone 模式

Standalone 模式: 即搭建多台服务器组成spark 集群,但不与其他框架集成,如 yarn,此时 spark 运行在集群中

  • 在Client模式下时 :task与driver都在client端,client与executor通讯。在driver将任务分解后由executor在从节点上执行。

  • 在Cluster模式下 : task与driver都在master节点中,master与executor进行通讯,driver将任务进行分解通知executor进行执行
    在这里插入图片描述

基于 yarn 的 spark 集群部署: yarn 集群 + spark 集群,此时 spark 运行在 yarn 中

spark on yarn client模式
在这里插入图片描述

spark on yarn cluster模式

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

local 和 standalone 模式必须启动 spark,yarn 模式无需启动 spark。

Spark模块组成

Spark Core: 包含 Spark 的基本功能;尤其是定义 RDD(弹性数据分布集:Spark定义的数据结构) 的 API、操作以及这两者上的动作。其他 Spark 的库都是构建在 RDD 和 Spark Core 之上的。可以做数据的清洗与格式的转换,替换MR

Spark SQL: 提供结构化数据查询语言。提供通过 Apache Hive 的 SQL 变体 Hive 查询语言(HiveQL)与 Spark 进行交互的 API。每个数据库表被当做一个 RDD,Spark SQL 查询被转换为 Spark 操作。对熟悉 Hive 和 HiveQL 的人,Spark可以拿来就用。

Spark Streaming: 允许对实时数据流进行处理和控制。很多实时数据库(如Apache Store)可以处理实时数据。Spark Streaming 允许程序能够像普通 RDD 一样处理实时数据。

MLlib: 一个常用机器学习算法库,算法被实现为对 RDD 的 Spark 操作。这个库包含可扩展的学习算法,比如分类、回归等需要对大量数据集进行迭代的操作。之前可选的大数据机器学习库 Mahout,将会转到 Spark,并在未来实现。

GraphX: 控制图、并行图操作和计算的一组算法和工具的集合。GraphX 扩展了 RDD API,包含控制图、创建子图、访问路径上所有顶点的操作。

任务资源调度平台:自带的任务调度器。
在这里插入图片描述

主要架构

master: 主节点,主要用于集群的管理,任务资源的分配,以及客户端提交的任务。
worker: 从节点进程,主要是负责执行任务,一个worker最多可以使用与CPU核数相等的
executor: 启动task来执行任务,在worker节点中作为进程存在。
task: 线程,任务执行的最小粒度单位。

  • 在Client模式下时 :task与driver都在client端,client与executor通讯。在driver将任务分解后由executor在从节点上执行。

  • 在Cluster模式下 : task与driver都在master节点中,master与executor进行通讯,driver将任务进行分解通知executor进行执行

application: 向spark进行提交的程序,包含了多个job。
job: 单一的任务
driver: 驱动程序,主要是负责DAG划分,stage划分,以及task的分解等。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值