Spark是专为大规模数据分析处理而设计的开源分布式计算框架。使用内存计算技术和有向无环图(DAG)提供比MapReduce引擎更快的分析处理能力。提供Spark SQL、Spark Streaming、MLlib和Graphx等多个计算程序包,可用于大规模数据分析处理,实时计算,机器学习,图计算等场景。
SparkConext:SparkContext为Spark计算框架的入口。负责管理Spark分布式资源,创建RDD,调度task等功能。
SparkSession:SparkSession为SparkSQL的入口,负责解析,分析,优化SQL,生成物理计划,调度运行SQL任务。
Driver:Driver为Spark分布式处理框架的中承载SparkContext的进程,负责运行SparkContext,调度管理Executor,Driver只有一个。
Executor:Executor为执行分布式任务的执行进程,负责执行Driver分发过来的任务,Executor有多个。
Ksana for SparkSQL:EMR 自研兼容 Hive JDBC Driver 的 SparkSQL Server,为常驻服务,负责接收客户端 SQL,使用 SparkSQL 执行并返回执行结果。Ksana 组件相关功能,您可创建 EMR-3.3.0 及之前的集群版本,来使用 Ksana 功能。
Livy for Spark Server:提供 NoteBook 应用对接Spark开发的Livy服务,用户通过jupyte/zeppeline对接Livy for Spark Server可轻松开发调试 Spark 应用。
Spark History Server: 提供 Spark 应用执行历史查看,分析的服务。
Spark Client:该组件为在个节点上安装 Spark 运行环境,并无实体服务。