Re: Re: filesystem table parquet 滚动问题
是的,类似的 On Tue, Jul 27, 2021 at 10:42 AM lixin58...@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 > > > > > lixin58...@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 lixin58...@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 滚动问题
你好, 感谢回复,看了下这个文档,提到对于parquet这种列式文件只会使用onCheckpointRollPolicy,也就是只在做检查点时会滚动。flink filesystem table这块的parquet列式文件写入是不是也这样呢? https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/connectors/streamfile_sink.html lixin58...@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 lixin58...@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 滚动问题
parquet因为它会在内存中攒buffer,所以文件的file-size并不能很精确。。只能等它flush了才会生效。 On Sun, Jul 25, 2021 at 9:47 AM lixin58...@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