Bootstrap

Flink上传文件到Oss

sink使用StreamingFileSink

代码:

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

//必须开启检查点

env.enableCheckpointing(10 * 1000);

DataStream<String> source ;

/*自定义滚动策略*/

DefaultRollingPolicy<String, String> rollPolicy = DefaultRollingPolicy

.builder()

.withRolloverInterval(TimeUnit.MINUTES.toMillis(5))/*每隔多少毫秒生成一个文件*/

.withInactivityInterval(TimeUnit.MINUTES.toMillis(5))/*未写入数据处于不活跃状态,默认60秒生成一个文件*/

.withMaxPartSize(128 * 1024 * 1024)/*设置每个文件的最大大小 ,默认是128M*/

.build();

/*输出文件名称的前、后缀配置*/

OutputFileConfig config = OutputFileConfig

.builder()

.withPartPrefix("prefix")

.withPartSuffix(".txt")

.build();

;