开发者社区> 问答> 正文

请问flink如何从流中取出自定义的数据结构并赋值给变量呢?

flink版本使用1.12.2。有一个需求就是想要从stream中拿出自定义的数据结构,暂且叫a并赋值给后面变量,基于这个a取他的属性作一些判断操作。 比如: val ds: DataStream[b] = stream.filter(_.nonEmpty).map(new MapFunction[String, b] {

override def map(value: String) = { val recallKafka = JSON.parseObject(value, classOf[a])

b(recallKafka.group_id, value, recallKafka.eventTime)

} })

val kafkaCommonData: a =recallKafka 判断条件 if (kafkaCommonData.data.date != null) {xxxxx} if (kafkaCommonData.data.userinfo != null) {xxxx} ..... 请问一下,我通过什么方法能单独把流中的某个数据结构给取出来呢?如果有方式的话应该要怎么写呢?大佬们帮忙看一下啊,卡了好几天 了,难受。。

....*来自志愿者整理的FLINK邮件归档

展开
收起
又出bug了-- 2021-12-03 16:39:39 947 0
2 条回答
写回答
取消 提交回答
  • 直接赋值是不行的,会报内部类无法赋值 可以定义一个map集合,在流的操作中,给这个map集合添加值 最后try catch finally, try 就是必须先运行这个流 finally就可以把这个数据拿到

    2022-04-11 20:54:12
    赞同 展开评论 打赏
  • hi

    你可以用 filter 过滤出多个流或者用测流输出的方式分流处理试试呢*来自志愿者整理的FLINK邮件归档

    2021-12-03 17:45:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
贺小令|Apache Flink 1.16 简介 立即下载
如何使用Tair增强数据结构构建丰富在线实时场景 立即下载
Apache Flink 流式应用中状态的数据结构定义升级 立即下载