Flink支持的文件系统
由于Flink中包含了很多和文件系统交互的方式,比如文件相关的连接器,以及将检查点也可以被保存在文件系统中
那么Flink中默认支持的文件系统基本如下,比如HDFS,S3,NFS等
对于这些不同的文件系统,区分的方式是通过文件路径前面提供的scheme来区分
比如file://xxxx 指的是本地文件系统, hdfs://xxxx:5000/xxxx指的是HDFS集群中的文件
Flink中,不同的文件系统都是交由FileSystem中的一个实现类来表示的,接口提供了文件的基本操作,包括读写等.
Flink为提供的文件系统有:
1. 本地文件系统
Flink内部支持了本地文件系统,还包括本地挂在的网络文件系统,这都无需额外配置
2. HDFS
Flink支持了HDFS协议,使用方式就是以hdfs://开头
3. S3
Flink提供了S3相关的文件系统配置,协议是s3://
4. Swift FS
支持Apache Hadoop Swift FS的连接器,协议为swift://
其次是文件系统相关的配置项,
比如我们可以指定一个通用的前缀,利用fs.default-scheme配置项
可以指定fs.default-scheme:hdfs://nnodel:9000
这样我们使用一个/result路径的时候就会被扩充为 hdfs://nnodel:9000/result
其次是可以限制文件系统的连接数,为每个URI协议单独定义
与之配套的还有控制连接请求失败之前的等待时间 fs.<scheme>.limit.timeout
空闲连接关闭的等待时间 fs.<scheme>.limit.stream-timeout