1.迭代流定义
直接看官网的解释:
通过将一个运算符的输出重定向到前面的某个运算符,在流中创建一个“feedback”循环。这对于定义持续更新模型的算法尤其有用。上面的代码从一个流开始,并持续地应用迭代体。大于0的元素被发送回反馈通道,其余的元素被转发到下游。
2.scala代码示例
import org.apache.flink.api.java.utils.ParameterTool
import org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironment}
import org.apache.flink.api.scala._
import org.apache.flink.ml.math.DenseVector
/**
* @Author: ch
* @Date: 25/05/2020 2:55 PM
* @Version 1.0
* @Describe:
*/
object DataStreamIterateTest {
/**
* 测试迭代流
* @param args
*/
def main(args: Array[String]): Unit = {
// the port to connect to
var port = 0
try {
ParameterTool.fromArgs(args).getInt("port")
} catch {
case e: Exception => {
port = 9000
}
}
val env: Strea