Spark程序中如何判断当前处在Driver还是Executor? 举报 理由 举报 取消 用的是spark on yarn模式,想实现类似下面的代码:if (isDriver) { // 请问如何判断 doSomething()} else { doSomethingElse()} 2018年1月13日 2 条回复 1027 次浏览 Spark,数据,计算
回复 ( 2 )
谢邀,应该可以获取到executor_id的,然后判断一下executor_id字符串是否含有driver子串就可以知道是不是driver了,在LinkedIn做的一个dr-elephant源码曾经看到过,特地回去看了看源码,具体是:在SparkDataCollection.java源码下获取的executor相关信息,在ExecutorLoadHeuristic.java下就用到这个判断是不是driver,建议看看。
Spark是没有暴露这方面的API的,题主判断是在Driver还是Executor用来做什么呢?