public void read(JSONObject eventObj) { String eventType = (String) eventObj.get("Event"); if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerApplicationStart.toString())) { handleAppStarted(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerEnvironmentUpdate.toString())) { handleEnvironmentSet(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerExecutorAdded.toString())) { handleExecutorAdd(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerBlockManagerAdded.toString())) { handleBlockManagerAdd(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerJobStart.toString())) { handleJobStart(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerStageSubmitted.toString())) { handleStageSubmit(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerTaskStart.toString())) { handleTaskStart(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerTaskEnd.toString())) { handleTaskEnd(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerStageCompleted.toString())) { handleStageComplete(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerJobEnd.toString())) { handleJobEnd(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerExecutorRemoved.toString())) { handleExecutorRemoved(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerApplicationEnd.toString())) { handleAppEnd(eventObj); } else if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerBlockManagerRemoved.toString())) {
private JobConfig parseJobConfig(InputStream is) throws Exception { JobConfig jobConfig = new JobConfig(); try (BufferedReader reader = new BufferedReader(new InputStreamReader(is))) { String line; boolean stop = false; while ((line = reader.readLine()) != null && !stop) { try { JSONParser parser = new JSONParser(); JSONObject eventObj = (JSONObject) parser.parse(line); if (eventObj != null) { String eventType = (String) eventObj.get("Event"); LOG.info("Event type: " + eventType); if (eventType.equalsIgnoreCase(SparkEventType.SparkListenerEnvironmentUpdate.toString())) { stop = true; JSONObject sparkProps = (JSONObject) eventObj.get("Spark Properties"); for (Object key : sparkProps.keySet()) { jobConfig.put((String) key, (String) sparkProps.get(key)); } } } } catch (Exception e) { LOG.error(String.format("Fail to parse %s.", line), e); } } return jobConfig; } }