public String toString() {
      return String.format("{jobId:%s, jobGroup:%s, startTime:%s, endTime:%s, numTask:%s, numActiveTasks:%s, "
              + "numCompletedTasks:%s, numSkippedTasks:%s, numFailedTasks:%s, numActiveStages:%s, "
              + "completedStageIndices:%s, stages:%s, numSkippedStages:%s, numFailedStages:%s}", jobId, jobGroup,
          startTime, endTime, numTasks, numActiveTasks, numCompletedTasks, numSkippedTasks, numFailedTasks,
          numActiveStages, getListString(completedStageIndices), getListString(stageIds), numSkippedStages,
          numFailedStages);
    }
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