У меня есть простое задание Flink:
public static void main(String[] args) throws Exception {
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(1);
DataSet<String> lines = env.readTextFile(input_path);
Dataset<String> words = env.flatMap(new LinesToWordFlatMap());
Dataset<String> count = words.map(new mapFunct());
Dataset<String> grouped = count.groupBy(new groupBy());
Dataset<String> wordCount = grouped.reduce(new reduceFunct());
wordCount.toDataSet().writeAsText(outputPath, FileSystem.WriteMode.OVERWRITE).setParallelism(1);
try {
env.execute("WordCount Example");
} catch (Exception e) {
e.printStackTrace();
}
}
Теперь я хотел бы оценить время выполнения каждого оператора (flatMap, map, groupBy, reduce) индивидуально. Я пробовал использовать библиотеку JMH , но не могу реализовать logi c для задания Flink.
Я также заглянул в этот репозиторий , но я не могу сопоставить один из приведенных в нем примеров с моим случаем.
Есть ли простой способ для индивидуального тестирования времени выполнения во Flink, который мог бы соответствовать моему варианту использования?
Спасибо заранее