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 star <31...@qq.com> on 2020/06/18 08:09:20 UTC

回复:env.readFile 递归监控目录 如何清理状态(历史目录)

感谢您的建议!如果我把hdfs目录删掉,flink里对应的状态也会清掉吗?



发自我的iPhone


------------------ 原始邮件 ------------------
发件人: Jark Wu <imjark@gmail.com&gt;
发送时间: 2020年6月18日 15:07
收件人: user-zh <user-zh@flink.apache.org&gt;
主题: 回复:env.readFile 递归监控目录 如何清理状态(历史目录)



Hi,

我觉得这个也许可以先从业务上解决。比如你可以有另一个作业定期去 HDFS 上把过期的数据清理掉(比如半个月前的?)。

另外,我也开了一个 issue 去跟进这个问题,看看社区里面对这块比较熟的同学有没有更好的建议。FLINK-18357
<https://issues.apache.org/jira/browse/FLINK-18357&gt;
我的一个初步的想法是,是否可以有一个 inactive-interval 去标记一个子目录已经不会有新文件产生了,这样 checkpoint
就不用跟踪这个子目录下的所有文件。


Best,
Jark

On Wed, 17 Jun 2020 at 14:04, star <3149768603@qq.com&gt; wrote:

&gt; &amp;nbsp;
&gt;
&gt;
&gt; env.readFile(format,path, FileProcessingMode.PROCESS_CONTINUOUSLY, 60000)
&gt;
&gt;
&gt; 上面是一个监控目录里的数据的source
&gt; format设置成递归监控一个父目录A , A下面是日期目录 ,如:
&gt;
&gt;
&gt; A/20200101/
&gt; A/20200102/
&gt; A/20200103/
&gt; .......
&gt; .......
&gt;
&gt;
&gt;
&gt; 随着时间的增加,比如到6月需要监控近200个目录,每个目录又有500个文件,每次ck需要同步的状态就是200*500个文件的消费的offset,这样经常ck超时,
&gt;
&gt;
&gt; 请问这种可以清理历史状态吗,比如业务上知乎有近7天的目录才会有数据更新,历史的就可以不监控了。