开发者社区> 问答> 正文

单流的一条数据,需要先sink 至mysql,再sink至kafka,并保证两sink的原子性以及s

单流的一条数据,需要先sink 至mysql,再sink至kafka,并保证两sink的原子性以及sink顺序,是否可以做到?请问下,有没有大佬做过类似的事情?

另外,flink side out功能,可以将单流分成多流,但是不是分成多流后,但两条流sink的时候,是不是没法保证sink时候的时序?

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

展开
收起
小阿矿 2021-12-06 15:30:01 903 0
1 条回答
写回答
取消 提交回答
  • 你可以先用 map 再用 addSink,这样他们的调用被 chain 在一起,可以达到先写入 mysql ,再写入 kafka 的目的。

    datastream.map(new MySQLSinkMapFunction()).addSink(new

    FlinkKafkaProducer()).

    也就是将 mysql sink 伪装成了一个 MapFunction,里面先做了 写 mysql 的动作,写成功后再将数据输出到下游。

    另外,如果要在 SQL 中解决这个需求的话,会比较麻烦,因为标准语法中没有这么个语法支持这个功能。

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

    2021-12-06 17:48:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像