如何找出Flinks执行过程的PID?

时间:2015-10-30 16:16:00

标签: perf apache-flink

我想用性能计数器(perf)测量flinks性能。我的代码:

var text = env.readTextFile("<filename>")
var counts = text.flatMap { _.toLowerCase.split("\\W+") }.map { (_, 1) }.groupBy(0).sum(1)
counts.writeAsText("<filename_result>", WriteMode.OVERWRITE)
env.execute()

我知道职位管理员的PID。我还可以在执行期间看到运行execute() - 命令的线程(CHAIN DataSource)的TID。但是对于每次执行,TID都会发生变化,所以它不适用于TID。有没有办法找出jobmanagers子进程的PID,它运行execute() - 命令? rdd的每个转换(例如flatMap)都有不同的子进程吗?如果是这样,是否有可能找到他们不同的PID?

1 个答案:

答案 0 :(得分:3)

各个运营商不会在不同的流程中执行。 @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration // ugly hack how to exclude main configuration @Configuration("myApp") @SpringApplicationConfiguration(classes = MyTest.class) public class MyTest { ... } JobManager作为Java进程启动。然后TaskManagers运行一组并行任务(对应于运算符)。每个并行任务都在自己的线程中执行。当您启动Flink时,系统将创建包含进程PID的文件TaskManager/tmp/your-name-taskmanager.pid