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 "lixin58688@163.com" <li...@163.com> on 2021/07/25 01:41:02 UTC

filesystem table parquet 滚动问题

大家好,

检查点配的是120s,滚动时长800s,滚动大小1kb,并行度配的2

不过在跑的过程中发现不管写入的多快,同时只存在一个in-progress文件,且最终生成的文件是严格按照120s生成的,这个很奇怪,似乎只有按检查点滚动生效了,与json格式的不一样。真的是这样吗?不过看官方文档没有这样说

求大佬们解惑!

create table fs_parquet
(userid bigint, name string, part string)
PARTITIONED BY (part)
with(
'connector' = 'filesystem',
'path' = 'hdfs:///data/fs_parquet',
'format' = 'parquet',
'sink.rolling-policy.file-size' = '1kb',
'sink.rolling-policy.rollover-interval' = '800s',
'sink.rolling-policy.check-interval' = '60s'
);




Re: Re: filesystem table parquet 滚动问题

Posted by Jingsong Li <ji...@gmail.com>.
是的,类似的

On Tue, Jul 27, 2021 at 10:42 AM lixin58688@163.com <li...@163.com>
wrote:

> 你好,
>
> 感谢回复,看了下这个文档,提到对于parquet这种列式文件只会使用onCheckpointRollPolicy,也就是只在做检查点时会滚动。flink
> filesystem table这块的parquet列式文件写入是不是也这样呢?
>
> https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/connectors/streamfile_sink.html
>
>
>
>
> lixin58688@163.com
>
> 发件人: Jingsong Li
> 发送时间: 2021-07-27 10:30
> 收件人: user-zh
> 主题: Re: filesystem table parquet 滚动问题
> parquet因为它会在内存中攒buffer,所以文件的file-size并不能很精确。。只能等它flush了才会生效。
>
> On Sun, Jul 25, 2021 at 9:47 AM lixin58688@163.com <li...@163.com>
> wrote:
>
> > 大家好,
> >
> > 检查点配的是120s,滚动时长800s,滚动大小1kb,并行度配的2
> >
> >
> >
> 不过在跑的过程中发现不管写入的多快,同时只存在一个in-progress文件,且最终生成的文件是严格按照120s生成的,这个很奇怪,似乎只有按检查点滚动生效了,与json格式的不一样。真的是这样吗?不过看官方文档没有这样说
> >
> > 求大佬们解惑!
> >
> > create table fs_parquet
> > (userid bigint, name string, part string)
> > PARTITIONED BY (part)
> > with(
> > 'connector' = 'filesystem',
> > 'path' = 'hdfs:///data/fs_parquet',
> > 'format' = 'parquet',
> > 'sink.rolling-policy.file-size' = '1kb',
> > 'sink.rolling-policy.rollover-interval' = '800s',
> > 'sink.rolling-policy.check-interval' = '60s'
> > );
> >
> >
> >
> >
>
> --
> Best, Jingsong Lee
>


-- 
Best, Jingsong Lee

Re: Re: filesystem table parquet 滚动问题

Posted by "lixin58688@163.com" <li...@163.com>.
你好,
    感谢回复,看了下这个文档,提到对于parquet这种列式文件只会使用onCheckpointRollPolicy,也就是只在做检查点时会滚动。flink filesystem table这块的parquet列式文件写入是不是也这样呢?
https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/connectors/streamfile_sink.html 




lixin58688@163.com
 
发件人: Jingsong Li
发送时间: 2021-07-27 10:30
收件人: user-zh
主题: Re: filesystem table parquet 滚动问题
parquet因为它会在内存中攒buffer,所以文件的file-size并不能很精确。。只能等它flush了才会生效。
 
On Sun, Jul 25, 2021 at 9:47 AM lixin58688@163.com <li...@163.com>
wrote:
 
> 大家好,
>
> 检查点配的是120s,滚动时长800s,滚动大小1kb,并行度配的2
>
>
> 不过在跑的过程中发现不管写入的多快,同时只存在一个in-progress文件,且最终生成的文件是严格按照120s生成的,这个很奇怪,似乎只有按检查点滚动生效了,与json格式的不一样。真的是这样吗?不过看官方文档没有这样说
>
> 求大佬们解惑!
>
> create table fs_parquet
> (userid bigint, name string, part string)
> PARTITIONED BY (part)
> with(
> 'connector' = 'filesystem',
> 'path' = 'hdfs:///data/fs_parquet',
> 'format' = 'parquet',
> 'sink.rolling-policy.file-size' = '1kb',
> 'sink.rolling-policy.rollover-interval' = '800s',
> 'sink.rolling-policy.check-interval' = '60s'
> );
>
>
>
>
 
-- 
Best, Jingsong Lee

Re: filesystem table parquet 滚动问题

Posted by Jingsong Li <ji...@gmail.com>.
parquet因为它会在内存中攒buffer,所以文件的file-size并不能很精确。。只能等它flush了才会生效。

On Sun, Jul 25, 2021 at 9:47 AM lixin58688@163.com <li...@163.com>
wrote:

> 大家好,
>
> 检查点配的是120s,滚动时长800s,滚动大小1kb,并行度配的2
>
>
> 不过在跑的过程中发现不管写入的多快,同时只存在一个in-progress文件,且最终生成的文件是严格按照120s生成的,这个很奇怪,似乎只有按检查点滚动生效了,与json格式的不一样。真的是这样吗?不过看官方文档没有这样说
>
> 求大佬们解惑!
>
> create table fs_parquet
> (userid bigint, name string, part string)
> PARTITIONED BY (part)
> with(
> 'connector' = 'filesystem',
> 'path' = 'hdfs:///data/fs_parquet',
> 'format' = 'parquet',
> 'sink.rolling-policy.file-size' = '1kb',
> 'sink.rolling-policy.rollover-interval' = '800s',
> 'sink.rolling-policy.check-interval' = '60s'
> );
>
>
>
>

-- 
Best, Jingsong Lee