Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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 Java中,如何以编程方式确定*活动*内核和任务的数量?_Apache Spark - Fatal编程技术网

Apache spark 在Spark Java中,如何以编程方式确定*活动*内核和任务的数量?

Apache spark 在Spark Java中,如何以编程方式确定*活动*内核和任务的数量?,apache-spark,Apache Spark,Spark web UI显示有关核心和任务总数和活动数量的大量信息。如何在Java Spark中以编程方式获取此信息,以便向最终用户显示作业进度 我确实读过关于“append/json/”技巧的文章,该技巧可以从主机中提取web UI页面的json版本,这样我就可以得到内核的总数 但是所有关于活动内核和任务的信息似乎都在驱动程序UI页面中。我在驱动程序UI页面上尝试了“/json/”技巧,它只是将我重定向回HTML页面。看起来我们发现了两种不同的方法来显示此信息: 1) 从SparkContex

Spark web UI显示有关核心和任务总数和活动数量的大量信息。如何在Java Spark中以编程方式获取此信息,以便向最终用户显示作业进度

我确实读过关于“append/json/”技巧的文章,该技巧可以从主机中提取web UI页面的json版本,这样我就可以得到内核的总数


但是所有关于活动内核和任务的信息似乎都在驱动程序UI页面中。我在驱动程序UI页面上尝试了“/json/”技巧,它只是将我重定向回HTML页面。

看起来我们发现了两种不同的方法来显示此信息:

1) 从SparkContext检索SparkStatusTracker(谢谢):

2) 请参阅驱动程序JVM提供的REST API:


在香草spark/EMR上,它没有自动缩放功能,在应用程序的整个生命周期中,内核的数量将保持不变。你可以通过SparkStatusTracker获得激活的Spark作业、阶段和任务:啊,谢谢你,Sai,SparkStatusTracker看起来正是我需要的。我们还为驱动程序JVM找到了RESTAPI——一旦我们找到了如何修复生成的异常,这看起来是另一种方法。
JavaSparkContext javaSparkContext = ...;
JavaSparkStatusTracker javaSparkStatusTracker = javaSparkContext.statusTracker();
for (int stageId : javaSparkStatusTracker.getActiveStageIds()) {
  SparkStageInfo sparkStageInfo = javaSparkStatusTracker.getStageInfo(stageId);
  int numTasks = sparkStageInfo.numTasks();
  int numActiveTasks = sparkStageInfo.numActiveTasks();
  int numFailedTasks = sparkStageInfo.numFailedTasks();
  int numCompletedTasks = sparkStageInfo.numCompletedTasks();
  ...
}