大家好,

我对这种大窗口的滑动窗口有一个思路,我主要使用的是Flink SQL,方法不知道对不对,大家讨论下哈:

1.将24小时窗口,1分钟的滑动,转化为1分钟的滚动窗口,将结果输出,然后输出给24小时滑动窗口1分钟输出。

2.直接的滑动窗口,好像是需要将所有的明细数据都保存在内存中。(这一点不知对不对,大神们帮忙看看)

        3.使用滚动窗口,进行预聚合,滚动窗口的数据在窗口输出后,不用保存明细数据,减少了内存使用。

4.如果TPS过高,可以减少滚动窗口的大小,但是需要保证输出到的滑动窗口,一次滑动的窗口大小是滚动窗口的N倍。

    祝
顺利
———————
Johnny.Z

 原始邮件
发件人: 戴嘉诚<a773807...@gmail.com>
收件人: user-zh<user-zh@flink.apache.org>
发送时间: 2019年9月4日(周三) 22:51
主题: Re: 如何优化flink内存?


这里我建议你是用key process然后在里面用state来管理和聚集数据,这样会节省很大一部分内存

Yifei Qi <qyf...@gmail.com<mailto:qyf...@gmail.com>>于2019年9月4日 周三20:07写道:

> 大家好:
>
>
>
> 不知道大家在使用flink时遇到过内存消耗过大的问题么?
>
>
>
> 我们最近在用flink算一些实时的统计数据, 但是内存消耗很大, 不知道有没有人知道如何优化?
>
>
>
> 具体情况是这样的:
>
> 准备的测试数据模拟一天时间内3万个用户的5万条数据. 原始数据一共是100M.
>
> 按照用户进行分组.
>
> 计算两个滑动窗口任务:一个是近1小时, 每5秒滑动一次的窗口. 一个是近24小时, 每1分钟滑动一次的窗口.
>
>
>
>
>
> flink运行在3个节点后, 内存合计就用了5G.
>
>
>
>
>
> flink如此消耗内存, 不知道是它本来就这么吃内存, 还是我使用的有问题.
>
>
>
>
>
> 顺祝商祺
>
>
> --
>
>
> Qi Yifei
> [image: https://]about.me/qyf404
> <
> https://about.me/qyf404?promo=email_sig&utm_source=product&utm_medium=email_sig&utm_campaign=gmail_api
> >
>

回复