flink DataStream iterate迭代流scala代码示例

本文介绍了Apache Flink中的DataStream迭代流功能,通过官方解释展示了如何创建反馈循环来持续更新模型的算法。接着提供了一个Scala代码示例,详细说明了如何设置迭代体,并在实际运行中通过socket测试,演示了输入数据如何在output和feedback流之间流转进行迭代处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值