diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkTask.java ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkTask.java index 78b5a1f..db8bcf6 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkTask.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/spark/SparkTask.java @@ -376,14 +376,15 @@ private static StatsTask getStatsTaskInChildTasks(Task r List hiveCounters = new LinkedList(); counters.put(groupName, hiveCounters); hiveCounters.add(Operator.HIVECOUNTERCREATEDFILES); + // MapOperator is out of SparkWork, SparkMapRecordHandler use it to bridge + // Spark transformation and Hive operators in SparkWork. + for (MapOperator.Counter counter : MapOperator.Counter.values()) { + hiveCounters.add(counter.toString()); + } SparkWork sparkWork = this.getWork(); for (BaseWork work : sparkWork.getAllWork()) { for (Operator operator : work.getAllOperators()) { - if (operator instanceof MapOperator) { - for (MapOperator.Counter counter : MapOperator.Counter.values()) { - hiveCounters.add(counter.toString()); - } - } else if (operator instanceof FileSinkOperator) { + if (operator instanceof FileSinkOperator) { for (FileSinkOperator.Counter counter : FileSinkOperator.Counter.values()) { hiveCounters.add(counter.toString()); }