public String getJobDescription(int jobId) {
    List<Integer> stageIds = _jobIdToInfo.get(jobId).stageIds;
    int id = -1;
    for (int stageId : stageIds) {
      id = Math.max(id, stageId);
    }
    if (id == -1) {
      logger.error("Spark Job id [" + jobId + "] does not contain any stage.");
      return null;
    }
    return _stageIdToInfo.get(new StageAttemptId(id, 0)).name;
  }
Job itself does not have a name, it will use its latest stage as the name.

@param jobId
@return
app/com/linkedin/drelephant/spark/legacydata/SparkJobProgressData.java