You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 史 正超 <sh...@outlook.com> on 2020/10/15 09:00:41 UTC

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

这种需求有没有什么方案啊

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

Posted by 史 正超 <sh...@outlook.com>.
@Kyle Zhang<ma...@gmail.com> 谢谢答复,现在差不多就是你说的这种方式做的。

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

________________________________
发件人: Kyle Zhang <sh...@gmail.com>
发送时间: Thursday, October 15, 2020 6:56:08 PM
收件人: user-zh@flink.apache.org <us...@flink.apache.org>
主题: 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 史 正超 <sh...@outlook.com> 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
>
> 这种需求有没有什么方案啊
>

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

Posted by Kyle Zhang <sh...@gmail.com>.
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 史 正超 <sh...@outlook.com> 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
>
> 这种需求有没有什么方案啊
>