使用Sparklyr和R获取活动的Spark执行程序的数量

时间:2018-07-11 14:53:04

标签: r apache-spark sparklyr

通过sparklyr启动spark集群时,我注意到所有执行者都可能需要10到60秒的时间才能联机。

现在,我正在使用public class Test{ OuterClass target = ... Caller mockeCaller = Mockito.mock(Caller.class); @Test public void test(){ Mockito.verify(mockCaller, Mockito.times(2)).callToCode(Mockito.any()); } } 允许他们有时间上网,但是有时花费的时间更长,有时甚至更短。我想要一种编程方式来调整此时间差异,类似于关于Python的this question。所以我想我想通过Sys.sleep(60)传递getExecutorMemoryStatus,但是我不确定该怎么做。

要查看我所看到的内容,请运行以下代码以启动yarn-client spark连接,并检查Yarn UI。在事件时间轴中,我们可以看到每个执行者何时联机。

sparklyr

1 个答案:

答案 0 :(得分:2)

  

所以我想我想通过sparklyr传递getExecutorMemoryStatus,但是我不确定该怎么做。

您必须检索SparkContext对象:

sc <- spark_connect(...)

spark_context(sc) %>%
  ...

然后invoke方法:

 ... %>% invoke("getExecutorMemoryStatus")

一起:

spark_context(sc) %>% 
  invoke("getExecutorMemoryStatus") %>% 
  names()

应该给您一个活跃的执行者列表。