Apache spark 以编程方式确定可用于Spark的内核数和内存量

Apache spark 以编程方式确定可用于Spark的内核数和内存量,apache-spark,Apache Spark,Spark Web UI显示了一些关于整个集群可用资源的有趣信息 我特别感兴趣的是: 工人 核心 记忆 如何以编程方式查询有关整个集群的这些信息?Spark并没有真正公开此类信息,它们都隐藏在主机中并传输到WebUI 但是,您可以使用一个小技巧,WebUI通过在页面中添加/JSON/来支持JSON 因此,转到http://:/json/将只返回您要查找的信息: { url: "spark://<host>:<port>", workers: [ ], c

Spark Web UI显示了一些关于整个集群可用资源的有趣信息

我特别感兴趣的是:

  • 工人
  • 核心
  • 记忆

如何以编程方式查询有关整个集群的这些信息?

Spark并没有真正公开此类信息,它们都隐藏在主机中并传输到WebUI

但是,您可以使用一个小技巧,WebUI通过在页面中添加/JSON/来支持JSON

因此,转到http://:/json/将只返回您要查找的信息:

{
  url: "spark://<host>:<port>",
  workers: [ ],
  cores: 0,
  coresused: 0,
  memory: 0,
  memoryused: 0,
  activeapps: [ ],
  completedapps: [ ],
  activedrivers: [ ],
  status: "ALIVE"
}
{
url:“spark://:”,
工人:[],
核心:0,
共使用:0,
内存:0,
结果:0,
activeapps:[],
已完成的应用程序:[],
活动驱动程序:[],
状态:“活着”
}

这里有一个问题,但我要问的是如何通过编程访问这些信息。马吕斯,这太棒了!我想这一定是一个不稳定的API,在不同的点版本之间会有任意的变化,但它可以满足我的需要。这仍然有效吗?spark在最新版本中不提供对此类信息的编程访问吗?我也想知道这一点-这仍然是必要的,还是现在可以通过更正式的API使用spark来实现?完美答案!