Spark 基本术语表

来源:互联网 发布:lol索拉卡技能数据 编辑:程序博客网 时间:2024/05/16 12:54

以下内容来自 http://spark.apache.org/docs/2.1.0/cluster-overview.html#glossary , 需要对 spark 的整个运行过程有所了解才能真正理解这些术语的涵义.

可以先看一下 http://dblab.xmu.edu.cn/blog/972-2 了解一下概况.

术语 术语简译 涵义 application 应用 基于 Spark 构建的用户程序. 一般包括了集群上的一个 driver 程序与多个 executor application jar 应用的 jar 包 包含了用户的 Spark application 的一个 jar 包. 在某些情况下用户可能想要创建一个囊括了应用及其依赖的 “超级” jar 包. 但实际上, 用户的 jar 不应该包括 Hadoop 或是 Spark 的库, 这些库会在运行时被进行加载. driver program 驱动程序 运行 application 的 main() 函数和创建 SparkContext 的进程. cluster manager 集群管理器 获取集群资源的一个外部服务, 比如 standalone 管理器, Mesos 和 YARN. deploy mode 部署模式 区分 driver 进程在何处运行. 在 “cluster” 模式下, 框架在集群内部运行 driver. 在 “client” 模式下, 提交者在集群外部运行 driver. worker node 工作节点 集群内任一能够运行 application 代码的节点 executor 执行者 在 worker node 上 application 启动的一个进程, 该进程运行 task 并在内存或磁盘上保存数据. 每个 application 都有其独有的 executor. task 任务 发送到一个 executor 的一系列工作 job 作业 由多个 task 组成的一个并行计算, 这些 task 产生自一个 Spark action (比如, save, collect) 操作. 在 driver 的日志中可以看到 job 这个术语. stage 阶段 每个 job 被分解为多个 stage, 每个 stage 其实就是一些 task 的集合, 这些 stage 之间相互依赖 (与 MapReduce 中的 map 与 reduce stage 类似). 在 driver 的日志中可以看到 stage 这个术语.

Spark 内部术语解释

  • Application:基于 Spark 的用户程序,包含了 driver 程序和集群上的 executor;
  • Driver Program:运行 main 函数并且新建 SparkContext 的程序;
  • Cluster Manager:在集群上获取资源的外部服务 (例如:standalone,Mesos,Yarn);
  • Worker Node:集群中任何可以运行应用代码的节点;
  • Executor:是在一个 worker node 上为某应用启动的一个进程,该进程负责运行任务,并且负责将数据存在内存或者磁盘上。每个应用都有各自独立的 executors;
  • Task:被送到某个 executor 上的工作单元;
  • Job:包含很多任务的并行计算,可以与 Spark 的 action 对应;
  • Stage:一个 Job 会被拆分很多组任务,每组任务被称为 Stage(就像 Mapreduce 分 map 任务和 reduce 任务一样)。
0 0
原创粉丝点击