kafka topic字段 不全的统计场景

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

kafka topic字段 不全的统计场景

史 正超
大佬们,现在我有个场景:
一个kafka 主题 有 4个字段 , id, field2, field3, field4,其中id 是唯一标识, 但是有个问题是,并不是每个消息都会带上全量的字段消息,只有id是固有的字段。然后需要把id, field2, field3, field4 作为一个维度 统计, 比如有如下 kafka消息:
{"id": 1, "field2":"b"}
{"id": 1, "field3":"c", "field4":"d"}
那么 按照维度 count(1)  (group by id, field2, field3, field4) 出来想要得到这样的统计:
(1,b,  c, d)=> 1

这种需求有没有什么方案啊
Reply | Threaded
Open this post in threaded view
|

Re: kafka topic字段 不全的统计场景

Kyle Zhang
group by id应该就可以了吧,其他几个字段用last value或者first value[1],还有就是考虑迟到的数据怎么处理

[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/functions/systemFunctions.html

On Thu, Oct 15, 2020 at 5:01 PM 史 正超 <[hidden email]> wrote:

> 大佬们,现在我有个场景:
> 一个kafka 主题 有 4个字段 , id, field2, field3, field4,其中id 是唯一标识,
> 但是有个问题是,并不是每个消息都会带上全量的字段消息,只有id是固有的字段。然后需要把id, field2, field3, field4
> 作为一个维度 统计, 比如有如下 kafka消息:
> {"id": 1, "field2":"b"}
> {"id": 1, "field3":"c", "field4":"d"}
> 那么 按照维度 count(1)  (group by id, field2, field3, field4) 出来想要得到这样的统计:
> (1,b,  c, d)=> 1
>
> 这种需求有没有什么方案啊
>
Reply | Threaded
Open this post in threaded view
|

回复: kafka topic字段 不全的统计场景

史 正超
@Kyle Zhang<mailto:[hidden email]> 谢谢答复,现在差不多就是你说的这种方式做的。

发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用

________________________________
发件人: Kyle Zhang <[hidden email]>
发送时间: Thursday, October 15, 2020 6:56:08 PM
收件人: [hidden email] <[hidden email]>
主题: Re: kafka topic字段 不全的统计场景

group by id应该就可以了吧,其他几个字段用last value或者first value[1],还有就是考虑迟到的数据怎么处理

[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/functions/systemFunctions.html

On Thu, Oct 15, 2020 at 5:01 PM 史 正超 <[hidden email]> wrote:

> 大佬们,现在我有个场景:
> 一个kafka 主题 有 4个字段 , id, field2, field3, field4,其中id 是唯一标识,
> 但是有个问题是,并不是每个消息都会带上全量的字段消息,只有id是固有的字段。然后需要把id, field2, field3, field4
> 作为一个维度 统计, 比如有如下 kafka消息:
> {"id": 1, "field2":"b"}
> {"id": 1, "field3":"c", "field4":"d"}
> 那么 按照维度 count(1)  (group by id, field2, field3, field4) 出来想要得到这样的统计:
> (1,b,  c, d)=> 1
>
> 这种需求有没有什么方案啊
>