Spark简介

概念

Spark是一个大数据领域统一数据分析框架, 速度快,使用简单,通用性,可以运行任何地方。

架构

Apache Spark Core:

Spark Core提供了Spark最基础与核心的功能。

Spark SQL:

Spark SQL是Spark操作结构化数据的组件。通过Spark SQL,用户可以使用SQL或者Apache HiveSQL来查询数据。

Spark Streaming:

Spark Streaming是Spark平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据的API。

Spark MLlib:

Spark MLlib是Spark提供的一个机器学习算法库。MLlib不仅提供了模型评估,数据导入等额外的功能,还提供了一些更底层的机器学习源语。

Spark GraphX:

Spark GraphX是面向图计算的框架与算法库。

Spark的核心组件

Driver

Spark驱动节点,用于执行Spark任务中的main方法,负责实际代码的执行工作。        简单理解Driver就是驱使整个应用起来的程序。

        1)将用户程序转换成作业(job)
        2)在Executor之间调度任务(task)
        3)跟踪Executor的执行情况
        4)通过UI展示查询运行情况

Executor

Spark Executor是集群中工作节点(worker)中的一个JVM进程,负责Spark作业中运行具体任务(Task),任务彼此之间相互独立。Spark应用启动时,Executor节点被同时启动,并且始终伴随着整个Spark应用的生命周期而存在。如果Executor节点发生了故障或者崩溃,Spark应用也可以继续执行。它的核心功能是:

        1)负责运行组成Spark应用的任务,并将结果返回给驱动器程序;

        2)通过自身的块管理器(Block Manager),位应用程序中要求缓存的RDD提供内存式存储。RDD是直接缓存在Executor进程中的。

Spark的运行模式

1)本地运行模式(Local)

不需要其它任何节点资源就可以在本地执行Spark代码的环境,一般用于教学,调试,演示等。和在IDEAIntellij Eclipse中开发代码是不一样的。

Spark还支持Windows系统下自动本地集群。

2)独立运行模式(Standalone)

独立运行模式指的是,只使用Spark自身节点运行的集群模式,即独立部署模式。

可以根据需要配置高可用(HA)。

3)Yarn运行模式(Yarn)

Spark主要是计算框架,不是资源调度框架。因此为了和其它系统更好的工作,可以配置yarn模式。

Spark应用程序提交到Yarn环境中执行的时候,一般有两种部署执行方式,client和cluster。两种模式的主要区别是Driver程序的运行节点的位置。

Client模式,是将监控和调度的Driver模块在客户端执行,一般用于测试。这种模式下Driver在任务提交的本地机器上执行。

Cluster模式,将Driver在yarn服务器上执行。

4)容器运行模式

容器化技术是目前业界流行的一项技术,基于Docker镜像运行能够让用户更加方便地对应用进行管理和运维。容器管理工具中最为流行的就是K8S。Spark最新版本支持K8S部署模式。

5)EC2运行模式

6)Mesos模式

Spark封装了三大数据结构

1)RDD(Resistant Distributed Data),弹性分布式数据集;

2)累加器,分布式共享只写变量;

3)广播变量,分布式共享只读变量。

Spark的特点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值