只是想知道星火计划工作如何?简单来说,我已经阅读了很多关于它是如何实现的描述,但它们太复杂了,无法理解。 谢谢, 马克简而言之,星火计划工作如何?
回答
我认为spark工作是FIFO(先进先出)。
Spark的调度程序以FIFO方式运行作业。
也可以在作业之间配置公平共享。
要启用公平调度,配置SparkContext时只需将spark.scheduler.mode
属性FAIR:
> val conf = new SparkConf().setMaster(...).setAppName(...)
> conf.set("spark.scheduler.mode", "FAIR") val sc = new
> SparkContext(conf)
有关详细信息,请查看https://spark.apache.org/docs/1.2.0/job-scheduling.html
取决于你在呼唤什么样的工作 - 如果你正在谈论独立提交,这实际上并不是由spark而是由主机环境来处理(mesos或Hadoop YARN)
单个spark-context中的不同作业会,b除非将其配置为使用FAIR调度程序,否则使用FIFO
在高级别,在RDD上调用任何操作时,Spark会创建DAG并提交给DAG调度程序。
DAG调度程序将操作员划分为多个任务阶段。一个阶段由基于输入数据分区的任务组成。 DAG调度程序一起管理运营商。对于例如许多地图运营商可以安排在单一阶段。 DAG调度程序的最终结果是一系列阶段。
阶段传递到任务计划程序。任务计划程序通过集群管理器启动任务(Spark Standalone/Yarn/Mesos)。任务调度程序不知道阶段的依赖关系。
工作人员执行从站上的任务。
看看this answer了解更多信息
好问题。这些术语在不同的地方以不同的方式使用,并且可能具有挑战性。 Spark最令人困惑的事情是,应用程序的一次运行可以产生多个作业,每个作业都被分解为多个任务!例如,如果应用程序是多线程的,则每个线程都可以生成一个Spark作业。但是,在正常情况下,应用程序与工作是一对一的。应用程序的一次运行会生成一份作业。
现在,Spark是以一种灵活的方式制作的,所以它将调度片断开并使其可插拔。可以插入许多不同的调度程序。最受欢迎的3个是来自Hadoop,Mesos和Spark自带的调度程序的YARN。所以,调度有各种各样的行为。
下一个令人困惑的事情是,作业和任务都安排好了。工作被分配资源。这可以静态完成,因此,例如将一组服务器分配给一个作业,然后该作业是唯一可以使用这些服务器的作业。或者,资源可以在作业中共享。一旦分配了资源,作业就会指向一个任务调度程序。然后作业生成任务并将其提供给任务调度程序,该任务调度程序将任务分配给特定资源。为作业分配资源的同一实体还提供任务调度程序(IE,YARN,Mesos或Spark内置)。因此,任务调度程序的工作方式也存在差异。
通常情况下,调度程序试图跟踪数据的位置,然后将任务分配到数据已驻留的位置,或者有足够的可用网络容量来移动数据。
复杂的因素是任务之间有依赖关系。执行这些依赖关系实际上是计划过程的一部分,但Spark术语在这一点上会变得混乱。在Spark中,只有处理器的最终任务分配被称为“调度”。
我给你举个例子,
假如你有一个做如下操作的应用,
- 阅读来自HDFS数据 上COLUMN_1
- 过滤运算
- 过滤器op on column_2
- column_3上的过滤器操作
- 写RDD到HDFS
- 斯巴克的DAGScheduler分析应用程序动作的过程中,设计最好的办法来实现任务
- 我的意思是,它的而不是每个过滤器的不同的阶段操作,它会将所有三个过滤器视为一个阶段。因此,不需要三次过滤数据集,它只会扫描一次。这当然是最佳的做法。
希望这会有所帮助。
- 1. 星火HashingTF如何工作
- 2. 多个工会 - 如何星火生成计划
- 3. Akka简而言之
- 4. Hadoop的容量计划和星火
- 5. 为星火工作
- 6. 开始星星之火从(或工人)
- 7. 工作如何被分布在星火
- 8. 纱线上的火花:如何防止计划多个火花工作
- 9. Seam 3简而言之?
- 10. 没有简而言之IOBlockStorageDevice
- 11. 调整星火工作
- 12. 如何星火
- 13. <简而言之>作为文本而不是HTML标签
- 14. Firebase的火焰计划是否有火花计划配额?
- 15. EMR星火工作,而不是在一个Java函数
- 16. 运行星火计划与当地的IntelliJ
- 17. 如何在星火
- 18. 简而言之多态现象
- 19. “简而言之”是什么意思
- 20. java.lang.ArrayIndexOutOfBoundsException:1例是Java中简而言之
- 21. 处理多个文件分别在星星之火,提交工作
- 22. 马拉松跑步星火工作
- 23. 星火产生java.io.IOException:在工作
- 24. Databricks星火红移:SORTKEYS不工作
- 25. 工作在星火没有数据流
- 26. 问题运行星火工作
- 27. 单击安装程序如何工作?工作计划建议
- 28. xcodebuild工作区和计划
- 29. 工作计划模板?
- 30. Heroku上的计划工作
假设我在客户端模式下运行Spark Client程序,在独立模式下运行Spark Cluster。谁创建了一个DAG? Spark客户创建DAG还是Spark Master创建DAG? Spark客户端程序是否指导工作人员进行哪些转换? – user1870400