开发者社区> 问答> 正文

生成“假”流数据。

我尝试生成流数据,以模拟我收到两个值的情况,Integer类型,在不同的时间范围内,带有时间戳,Kafka作为连接器。

我使用Flink环境作为消费者,但我不知道哪个是生产者的最佳解决方案。(如果可能,Java语法优于Scala)

我应该直接从Kafka生成数据吗?如果是,那么最好的方法是什么?或者如果我从Flink作为制作人生成数据,将其发送给Kafka并在Flink最后再次使用它可能会更好?我怎么能从flink那里做到这一点?或许还有另一种简单的方法来生成流数据并将其传递给Kafka。

展开
收起
社区小助手 2018-12-11 16:27:58 1774 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    可以使用KafkaProducer API在简单的Java中创建一个虚拟生成器,以根据您的意愿安排和发送消息给Kafka。同样,如果你想要多个同步生产者,你可以用Flink做到这一点。使用Flink,您需要为生产者和消费者编写单独的工作。Kafka基本上启用了ASync处理体系结构,因此它没有队列机制。因此,最好将生产者和消费者工作分开。

    但是想一想这个测试的意图:

    您是否正在尝试测试Kafka流式传输耐久性,复制,偏移管理功能

    在这种情况下,您需要同一主题的同时生成器,在消息中使用null或非null键。

    或者您是否正在尝试测试Flink-Kafka连接器功能。

    在这种情况下,您只需要一个生产者,很少有内部场景可以通过让生产者推送比消费者可以处理的更多消息来进行背压测试。

    或者您是否正在尝试测试主题分区和Flink流并行性。

    在这种情况下,单个或多个生成器但消息的键应为非null,您可以测试Flink执行程序如何与各个分区连接并观察它们的行为。

    您可能想要测试更多的想法,并且每个想法都需要在生产者中完成特定的事情或者不需要完成。

    https://github.com/abhisheknegi/twitStream在需要的情况下,您可以使用Java API 检查推送推文。

    2019-07-17 23:19:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载