1.1Spark是什么定义:ApacheSpark是用于大规模数据(large-scala data) 处理的统一(unified) 分析引擎
Soark 借鉴 MnReduce 思相发展而来,保图了其价布式并行计算的代占开改进了其明显的缺路。让中间数样存修在内存中接
高了运行速度、并提供丰富的操作数据的API提高了开发速度。
Spark是一款分布式内存计算的统一分析引擎
其特点就是对任意类型的数据进行自定义计算。
Spark可以计算:结构化、半结构化、非结构化等各种类型的数据结构,同时也支持使用Python、Java、Scala、R以及SOL语言去开发应用
程序计算数据。
Spark的适用面非常广泛,所以,被称之为 统一的 (适用面广) 的分析引擎(数据处理)
Spark提供多种运行模式,包括: 本地模式(单机) 本地模式就是以一个独立的进程,通过其内部的多个线程来模拟整个Spark运行时环境 Standalone模式(集群) Spark中的各个角色以独立进程的形式存在,并组成Spark集群环境 Hadoop YARN模式(集群) Spark中的各个角色运行在YARN的容器内部,并组成Spark集群环境 - Kubernetes模式(容器集群) Spark中的各个角色运行在Kubernetes的容器内部,并组成Spark集群环境 - 云服务模式(运行在云平台上)
Spark运行角色
Spark中由4类角色组成整个Spark的运行时环境
Master角色,管理整个集群的资源 类比与YARN的ResouceManager
Worker角色,管理单个服务器的资源 类比于YARN的NodeManager
Driver角色,管理 单个Spark任务在运行的时候的工作 类比于YARN的ApplicationMaster
Executor角色,单个任务运行的时候的一堆工作者,千活的. 类比于YARN的容器内运行的TASK
从2个层面划分
资源管理层面:
管理者: Spark是Master角色, YARN是ResourceManager
。工作中: Spark是Worker角色, YARN是NodeManager
从任务执行层面:
。某任务管理者: Spark是Driver角色, YARN是ApplicationMaster
,某任务执行者: Spark是Executor角色, YARN是容器中运行的具体工作进程
Spark解决什么问题? 海量数据的计算,可以进行离线批处理以及实时流计算 Spark有哪些模块? 核心SparkCore、SQL计算(SparkSQL)、流计算(SparkStreaming )、图计算(GraphX)、机器学习(MLlib) Spark特点有哪些? 速度快、使用简单、通用性强、多种模式运行