端到端测试如何终止输入源

lfapxunr  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(371)

我在批处理中使用apache flink已经有一段时间了,但是现在我们想将这个批处理作业转换为流式处理作业。我遇到的问题是如何运行端到端测试。
它是如何在批处理作业中工作的
当使用批处理时,我们使用cucumber创建端到端测试。
我们将填充从中读取的hbase表
运行批处理作业
等它结束
验证结果
流作业中的问题
我们想做一些类似的流作业除了流作业没有真正完成。
所以:
填充我们从中读取的消息队列
运行流式处理作业。
等它完成(怎么做?)
验证结果
我们可以在每次测试后等待5秒钟,然后假设所有的东西都已经处理好了,但是这会让所有的东西慢很多。
问题:
在流式flink作业上运行端到端测试,而不必在x秒后强制终止flink作业,有哪些方法或最佳实践

93ze6v8z

93ze6v8z1#

大多数flink数据流源如果是从有限的输入中读取数据,则在到达末尾时会注入一个带有long.max\u值的水印,之后作业将终止。
flink培训练习说明了对flink作业进行端到端测试的一种方法。我建议克隆github repo,看看测试是如何设置的。它们使用一个自定义的源和接收器,并重定向输入和输出以进行测试。
文档中也讨论了此主题。

相关问题