这个参数的意思是合并后的文件最大的size,你每个文件1k多,两个文件就大于2k了,所以没有触发合并

On Fri, Aug 6, 2021 at 11:59 AM Rui Li <lirui.fu...@gmail.com> wrote:

> 可以把这个参数调大点试试呢,调成远大于单个文件的size
>
> On Thu, Aug 5, 2021 at 1:43 PM lixin58...@163.com <lixin58...@163.com>
> wrote:
>
> > 你好,
> >     生成的三个文件挺小的,不到2kb,1k多一点,配这个是为了合并后比2k大
> >
> > ------------------------------
> > lixin58...@163.com
> >
> >
> > *发件人:* Rui Li <lirui.fu...@gmail.com>
> > *发送时间:* 2021-08-05 11:42
> > *收件人:* user-zh <user-zh@flink.apache.org>
> > *主题:* Re: filesystem connector不支持跨subtask合并小文件
> > 你好,
> >
> > 看到你的compaction.file-size配置成了2kb,这个是希望合并以后的文件的target size只有2kb么
> >
> > On Wed, Aug 4, 2021 at 5:39 PM lixin58...@163.com <lixin58...@163.com>
> > wrote:
> >
> > > 你好,
> > >     在使用filesystem
> > >
> >
> connector过程中,开启了compaction,使用parquet列式文件,指定3个并行度,但发现无论如何也触发不了合并,因为列式文件是checkpoint触发时才会滚动,这样同一checkpoint内会产生与并行度相同的文件,按说此时文件数已经大于1了,为什么不合并呢?
> > >
> > > create table fs_parquet_compact
> > > (userid bigint, name string, part string)
> > > PARTITIONED BY (part)
> > > with(
> > > 'connector' = 'filesystem',
> > > 'path' = 'hdfs:///data/fs_parquet_compact',
> > > 'format' = 'parquet',
> > > 'auto-compaction' = 'true',
> > > 'compaction.file-size' = '2kb',
> > > 'sink.rolling-policy.file-size' = '500b',
> > > 'sink.rolling-policy.rollover-interval' = '800s',
> > > 'sink.rolling-policy.check-interval' = '60s'
> > > );
> > >
> > >
> > >
> > > lixin58...@163.com
> > >
> >
> >
> > --
> > Best regards!
> > Rui Li
> >
> >
>
> --
> Best regards!
> Rui Li
>


-- 
Best, Jingsong Lee

回复