flink读写filesystem

本文介绍了使用Flink SQL将数据写入Parquet格式的细节,包括配置文件系统、设置Parquet块大小和压缩方式。讨论了Parquet文件的生成规则,特别是小文件的优化,如自动合并小文件。总结了Flink在checkpoint时如何生成和合并Parquet文件,以及影响小文件优化的因素。此外,还提到了文件回滚的条件和文件可用的时间点。
摘要由CSDN通过智能技术生成

1 flink-sql写parquet格式

-

1 参考链接

Parquet | Apache Flink

ParquetOutputFormat - parquet-hadoop 1.10.0 javadoc

FileSystem | Apache Flink

注意: 多个链接要结合起来看

-

2 连接文件系统

CREATE TABLE test_fs_table (
  iid STRING,
  local_time TIMESTAMP,
  dt STRING,
  dh STRING
) PARTITIONED BY (dt,dh) WITH (
  'connector'='filesystem',
  'path'='out_path',
  'format'='parquet',
  'parquet.block.size'='128MB', -- 设定文件块大小
  'auto-compaction'='true', -- 开启自动合并小文件
  'compaction.file-size'='12MB', -- 合并文件大小
  'parquet.compression'='SNAPPY'  -- 指定压缩, 生成的文件名没有压缩类型标记
)

-

2 parquet文件生成规则

1) 数据量小, checkpoint内没超过parquet.block.size

2) 数据量较大, checkpoint内超过parquet.block.size

3) 文件回滚的条件

a.下个checkpoint来临

b.文件达到128M(parquet.block.size)

c.下个分区来临

-

3 小文件优化

影响因素:并行度、回滚时间、文件大小、checkpoint、compaction

1 flink-sql写parquet文件到

规则总结:

1)checkpoint时, 生成compact文件(立即可读), 下个checkpoint时删除uncompact(不可读)文件;

2) 只能合并单个checkpoint内的文件,不同checkpoint生成的文件是不会合并的;

3) 分区结束两个checkpoint后文件可用

参考链接:

Flink实战之合并小文件 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值