У меня есть слушатель искры, как показано ниже;
public class MySparkListener extends SparkListener {
@Override
public void onJobStart(SparkListenerJobStart jobStart) {
IdFederationUtil.debugLogger.info("JobStart time->"+jobStart.time()+" Id->"+jobStart.jobId()+" stageInfos->"+jobStart.stageInfos());
}
@Override
public void onJobEnd(SparkListenerJobEnd jobEnd) {
IdFederationUtil.debugLogger.info("JobEnd time->"+jobEnd.time()+" Id->"+jobEnd.jobId());
}
}
В логах я вижу что-то вроде ниже;
JobStart time->1541588073798 Id->0 stageInfos->WrappedArray(org.apache.spark.scheduler.StageInfo@7e559e96, org.apache.spark.scheduler.StageInfo@190c2cf7, org.apache.spark.scheduler.StageInfo@7c8b18d6)
JobEnd time->1541588081879 Id->0
В каждом задании как я могу получить этот идентификатор работы? тот, который напечатан, т.е. Id -> 0
Примечание. Не ищите идентификатор приложения.
Вариант использования - хранить информацию о соединении в кеше (карте), где ключ - это идентификатор задания, а значение - это соединение. Закройте соединение, когда работа закончится.
Заранее признателен за помощь.
С уважением,
Робин Куттая.