Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 如何在窗口流式etl中显示中间结果?_Apache Kafka_Stream_Apache Flink_Apache Kafka Streams - Fatal编程技术网

Apache kafka 如何在窗口流式etl中显示中间结果?

Apache kafka 如何在窗口流式etl中显示中间结果?,apache-kafka,stream,apache-flink,apache-kafka-streams,Apache Kafka,Stream,Apache Flink,Apache Kafka Streams,目前,我们在事件存储中实时聚合数据。其思想是为多个时间范围(每月、每周、每天、每小时)和多个标称键可视化事务数据。我们经常有迟交的数据,所以我们需要对此做出解释。此外,要求显示运行结果,即当前窗口的值,甚至在它完成之前 目前,我们正在使用卡夫卡和阿帕奇风暴,特别是三叉戟,即微镜头来实现这一点。我们的架构大致如下所示: 为我丑陋的照片道歉。我们使用MongoDB作为键值存储来持久化状态,然后通过返回查询到的当前值的微服务以只读方式访问它。这种设计存在多个问题 代码维护性很高 以这种方式很难保证只进

目前,我们在事件存储中实时聚合数据。其思想是为多个时间范围(每月、每周、每天、每小时)和多个标称键可视化事务数据。我们经常有迟交的数据,所以我们需要对此做出解释。此外,要求显示运行结果,即当前窗口的值,甚至在它完成之前

目前,我们正在使用卡夫卡和阿帕奇风暴,特别是三叉戟,即微镜头来实现这一点。我们的架构大致如下所示:

为我丑陋的照片道歉。我们使用MongoDB作为键值存储来持久化状态,然后通过返回查询到的当前值的微服务以只读方式访问它。这种设计存在多个问题

代码维护性很高 以这种方式很难保证只进行一次处理 在每次聚合之后更新状态显然会影响性能,但速度足够快。 我们得到的印象是,使用ApacheFlink或Kafka streams,更好的框架,特别是从维护的角度来看——Storm往往非常冗长,自从我们开始这个项目以来,它已经变得可用。尝试这些似乎就像写入数据库,尤其是mongoDB不再是最先进的。我看到的标准用例是状态在RocksDB或内存内部持久化,然后在窗口完成后写回Kafka

不幸的是,这使得显示中间结果非常困难,而且由于状态在内部持续存在,我们需要允许事件延迟数月或数年。有没有比劫持实时流的状态更好的解决方案?就我个人而言,我觉得这是一个标准要求,但却找不到一个标准解决方案。

你可以研究一下如何解决一些相关问题。这里使用的核心相关思想有:

在每次事件后触发窗口,以便不断更新其结果 使用Flink's使结果可查询 这是弗林克前进会议谈话的主题。有空

您可以将窗口更新流式输出到仪表板或数据库,而不是查询结果

另外,请注意,您可以级联窗口,这意味着每小时窗口的结果可以作为每日窗口的输入,等等。

您可以学习如何处理所涉及的一些问题。这里使用的核心相关思想有:

在每次事件后触发窗口,以便不断更新其结果 使用Flink's使结果可查询 这是弗林克前进会议谈话的主题。有空

您可以将窗口更新流式输出到仪表板或数据库,而不是查询结果


另外,请注意,您可以级联窗口,这意味着每小时窗口的结果可以作为每日窗口的输入,等等。

Kafka Streams提供交互式查询。它基本上与Flink的可查询状态相同,但是,它没有像Flink中那样标记为beta

事实上,对于Kafka Streams,利用Kafka Streams备用任务使交互式查询高度可用的工作正在进行中

有关详细信息,请签出以下参考资料:

博文: 文件: 示例: KIP-535将包含在即将发布的Apache Kafka 2.5版本中:
Kafka Streams提供交互式查询。它基本上与Flink的可查询状态相同,但是,它没有像Flink中那样标记为beta

事实上,对于Kafka Streams,利用Kafka Streams备用任务使交互式查询高度可用的工作正在进行中

有关详细信息,请签出以下参考资料:

博文: 文件: 示例: KIP-535将包含在即将发布的Apache Kafka 2.5版本中: