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有多个。
组件说明
- Spark Thirft Server:兼容 Hive JDBC Driver 的 Spark Thirft Server,为常驻服务,负责接收客户端 SQL,使用 SparkSQL 执行并返回执行结果。
- Spark History Server: 提供 Spark 应用执行历史查看,分析的服务。
- Spark Client:该组件为在各节点上安装 Spark 运行环境,并无实体服务。