Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何向spark提交一份申请中的多份工作_Apache Spark - Fatal编程技术网

Apache spark 如何向spark提交一份申请中的多份工作

Apache spark 如何向spark提交一份申请中的多份工作,apache-spark,Apache Spark,我有一个使用spark 2.1(scala)的report stats项目,其工作原理如下: object PtStatsDayApp extends App { Stats A... Stats B... Stats C... ..... } 有人在一个类中放置了许多统计计算(大部分不相关),并使用shell提交。我发现它有两个问题: 如果一个状态卡住,则下面的其他状态无法运行 如果一个stat失败,那么应用程序将从头开始重新运行 我有两种重构解

我有一个使用spark 2.1(scala)的report stats项目,其工作原理如下:

object PtStatsDayApp extends App {
    Stats A...
    Stats B...
    Stats C...
     .....     
}
有人在一个类中放置了许多统计计算(大部分不相关),并使用shell提交。我发现它有两个问题:

  • 如果一个状态卡住,则下面的其他状态无法运行

  • 如果一个stat失败,那么应用程序将从头开始重新运行

    我有两种重构解决方案:

  • 将每个stat放在一个类中,但需要更多的脚本。这个解决方案是否会因为提交这么多而带来很多开销
  • 并行运行这些统计。这个问题是资源紧张还是spark可以适当地处理

还有其他想法或最佳实践吗?谢谢,有几个3d无党派Spark调度器,比如Airflow,但我建议使用Spark Launcher API并以编程方式编写启动逻辑。使用此API,您可以并行、顺序或任意方式运行作业

链接到文档:


并行运行作业的效率主要取决于Spark群集配置。一般来说,Spark支持此类工作负载。

有几种3d无党派Spark调度器,如Airflow,但我建议使用Spark Launcher API并以编程方式编写启动逻辑。使用此API,您可以并行、顺序或任意方式运行作业

链接到文档:


并行运行作业的效率主要取决于Spark群集配置。Spark通常支持此类工作负载。

首先,您可以将调度程序模式设置为
FAIR
。然后可以使用并行集合在多线程驱动程序上同时启动Spark作业。 一个平行的集合,比如说。。。十个
Stats
查询的并行序列
ParSeq
,可以使用
foreach
逐个触发每个
Stats
查询。它将取决于驱动程序有多少内核以及可以同时使用多少线程。默认情况下,全局执行上下文有那么多线程

查看这些帖子,它们是使用并行集合启动并发spark作业的示例


首先,您可以将计划程序模式设置为
FAIR
。然后可以使用并行集合在多线程驱动程序上同时启动Spark作业。 一个平行的集合,比如说。。。十个
Stats
查询的并行序列
ParSeq
,可以使用
foreach
逐个触发每个
Stats
查询。它将取决于驱动程序有多少内核以及可以同时使用多少线程。默认情况下,全局执行上下文有那么多线程

查看这些帖子,它们是使用并行集合启动并发spark作业的示例