据我了解,Apache Flink实际上不会运行您要求的操作,直到某些事情需要这些操作的结果为止。这使得很难准确计时每个操作所花费的时间,这正是我试图将其效率与Apache Spark进行比较的目的。有没有办法强迫它在我想要的时候运行操作?
答案 0 :(得分:1)
运行Flink程序时,将定义拓扑和要在群集上执行的运算符。一个人通过调用env.execute
来触发作业执行,其中env
是ExecutionEnvironment
或StreamExecutionEnvironment
。批处理作业有一个例外,它们的API调用collect
和print
触发了急切的执行。
您可以使用Web ui提取不同运算符的运行时。对于每个操作员,您都会看到它的部署时间和完成时间。