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 比较Kafka/Ksqldb中的顺序行_Apache Kafka_Apache Kafka Streams_Ksqldb - Fatal编程技术网

Apache kafka 比较Kafka/Ksqldb中的顺序行

Apache kafka 比较Kafka/Ksqldb中的顺序行,apache-kafka,apache-kafka-streams,ksqldb,Apache Kafka,Apache Kafka Streams,Ksqldb,我对卡夫卡和ksqldb都是新手,我正在尝试评估它们是否适合我正在从事的项目。如果可能的话,我希望使用ksqldb而不是Kafka流 我正在考虑使用它来跟踪互联网会话中的数据使用情况 数据格式尚未定义,但它可能有几个字段,这些字段组合起来将标识一个服务和几个计数器。计数器只会增加-它们显示每个会话中各种类型的总数据 我每小时会得到几次统计数据,大约4次,我希望每节课每个计数器每小时都能得到一个增量 因此,例如,对于单个会话,我可能会有一些这样的数据(尽管每个记录有几个计数器,并且“时间”增量不一

我对卡夫卡和ksqldb都是新手,我正在尝试评估它们是否适合我正在从事的项目。如果可能的话,我希望使用ksqldb而不是Kafka流

我正在考虑使用它来跟踪互联网会话中的数据使用情况

数据格式尚未定义,但它可能有几个字段,这些字段组合起来将标识一个服务和几个计数器。计数器只会增加-它们显示每个会话中各种类型的总数据

我每小时会得到几次统计数据,大约4次,我希望每节课每个计数器每小时都能得到一个增量

因此,例如,对于单个会话,我可能会有一些这样的数据(尽管每个记录有几个计数器,并且“时间”增量不一致,但它更容易推理):

我想说的是:

0h: 156 (i.e. 156 - 0/start)
1h: 404 (i.e. 560 - 156)
2h: 125 (i.e. 685 - 560)
我可以想象这样的情况:我为每一条记录与前一条记录确定一个增量,因为我理解,每小时的聚合是微不足道的。我不确定的是如何比较像那样的顺序记录

我考虑了一个解决方案,比如说0h45-2h,然后执行max()-min(),但是因为时间增量不一致,所以完全可能0h的最后一个计数器的时间戳是0h44,同样可能在0h46有一个计数器,在0h59有另一个计数器-在这种情况下,我们想与0h59计数器进行比较,不是0h46,但min()将返回0h46值

在某些情况下,输入数据可能会无序接收,可能会延迟几个小时——因此,我无法在输入时向每条记录添加某种递增计数器。我已经看到了这个行比较问题的解决方案,它使用了这样的计数器。我希望我可以在ksqldb中使用某种排序函数来处理这个问题,我已经看到窗口支持一个宽限期,这在这里可能也适用于我

不管怎样,这就是我的目的。我不是在寻找一个现成的解决方案,但是,为Kafka/Ksqldb新手寻找正确的方向,或者可能是一些“你不可能需要做一些java开发并用Streams来做这些”——假设这是可能的

0h: 156 (i.e. 156 - 0/start)
1h: 404 (i.e. 560 - 156)
2h: 125 (i.e. 685 - 560)