**
spark
**
spark是一种快速、通用、可扩展的大数据分析引擎。spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、Graphx、MLlib等子项目。
spark是基于内存计算的大数据并行计算框架。是基于MapReduce算法实现的分布式计算。
**
特点
**
快、易用、通用、兼容性。
主要架构模块
spark Core:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。
spark SQL:是Spark用来操作结构化数据的程序包。
spark Streaming:是Spark提供的对实时数据进行流式计算的组件。
Spark MLib:提供常见的机器学习功能的程序库。
集群管理器:Spark设计为可以高效的在一个计算节点到数千个计算节点之间伸缩计算。
运行角色
master:主节点进程。
worker:从节点进程。
spark的运行模式
- 本地模式
- Standalone模式
- Spark on Yarn 模式
- Spark on Mesos模式
standalone模式运行spark自带的测试jar包
bin/spark-submit class org.apache.spark.examples.SparkPi master spark://node01:7077 executor-memory 1G total-executor-cores 2 /expert/servers/spark2.2.0-bin-2.6.0-cdh5.14.0/examples/jars/spark-examples_2.11-2.2.0.jar 100
角色介绍
Driver Program:运行main函数并且新建SparkContext的程序。
Application:基于Spark的应用程序。
Cluster Manager:值的是在集群上获取资源的外部服务。
Worker Node:集群中任何可以运行Application代码的节点
Executor:是在一个worker node上为某应用启动的一个进程、
Task:被送到某个executor上的工作单元。