java - 使用 Flink 到 Kafka 的数据集?可能吗
问题描述
我有一个用例,我需要将记录从 hive 移动到 kafka。我找不到可以直接将 kafka sink 添加到 flink 数据集的方法。因此,我使用了一种解决方法,在 flink 数据集上调用地图转换,在地图函数内部,我对给定的记录使用 kafkaProducer.send() 命令。
我面临的问题是我没有办法在每个工作节点上执行 kafkaProducer.flush() ,因此用 kafka 写入的记录数总是略小于数据集中的记录数。
有没有一种优雅的方法来处理这个?有什么办法可以在 flink 中将 kafka sink 添加到数据集?或者调用 kafkaProducer.flush() 作为终结器的方法?
解决方案
您可以简单地创建一个Sink
将KafkaProducer
在后台使用并将数据写入 Kafka。
推荐阅读
- java - iText pdf转换中不支持CSS的关键问题
- css - CSS 背景图片错误:net::ERR_FILE_NOT_FOUND
- azure - 分配 Azure 策略和多个订阅的问题
- java - 尝试从arrayList(javaFx)向tableView添加数据
- paypal - PayPal 开发者文档中的这一行是什么意思?
- delphi - 当窗口在 SYSTEM 帐户下运行时,ShowWindow 不起作用
- python - Python tkinter spinbox 中的箭头按钮使用 textvariable 但不使用 Return 键更新标签的颜色和文本
- rust - 在字符串中提取宏参数
- html - 如何将页脚定位到屏幕的绝对底部
- javascript - 在 HTML 表格中隐藏/显示列(标题中有多个列)