This is an automated email from the ASF dual-hosted git repository.

MartijnVisser pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/master by this push:
     new 3196a998cf0 [FLINK-30166][tests] Refactor tests that use the 
deprecated StreamingFileSink to FileSink (#28565)
3196a998cf0 is described below

commit 3196a998cf00a58bb49d4441baf6bbb5cd45d5b5
Author: Martijn Visser <[email protected]>
AuthorDate: Sat Jul 4 09:45:48 2026 +0200

    [FLINK-30166][tests] Refactor tests that use the deprecated 
StreamingFileSink to FileSink (#28565)
    
    Includes extracting repeated bulk-writer block into OrcBulkWriterTestUtil
    
    Generated-by: Claude Code (Opus 4.8)
---
 .../flink/connector/file/sink/FileSinkProgram.java | 50 ++++++-------------
 .../flink-stream-sql-test/pom.xml                  |  6 +++
 .../flink/sql/tests/StreamSQLTestProgram.java      |  8 ++--
 flink-end-to-end-tests/run-nightly-tests.sh        |  6 +--
 .../test-scripts/test_file_sink.sh                 |  6 +--
 ...FileSinkITCase.java => AvroFileSinkITCase.java} | 19 ++++----
 flink-formats/flink-compress/pom.xml               |  3 +-
 .../compress/CompressWriterFactoryTest.java        | 56 +++++++---------------
 .../formats/compress/CompressionFactoryITCase.java | 10 ++--
 .../org/apache/flink/orc/OrcFileSystemITCase.java  | 26 ++--------
 .../flink/orc/util/OrcBulkWriterTestUtil.java      | 17 +++++++
 .../flink/orc/writer/OrcBulkRowDataWriterTest.java | 34 ++++---------
 .../flink/orc/writer/OrcBulkWriterITCase.java      |  8 ++--
 .../apache/flink/orc/writer/OrcBulkWriterTest.java | 35 ++++----------
 ...kITCase.java => AvroParquetFileSinkITCase.java} | 20 ++++----
 ...ITCase.java => ParquetProtoFileSinkITCase.java} | 12 ++---
 flink-formats/flink-sequence-file/pom.xml          |  2 +-
 ...SinkITCase.java => SequenceFileSinkITCase.java} | 11 ++---
 18 files changed, 124 insertions(+), 205 deletions(-)

diff --git 
a/flink-end-to-end-tests/flink-file-sink-test/src/main/java/org/apache/flink/connector/file/sink/FileSinkProgram.java
 
b/flink-end-to-end-tests/flink-file-sink-test/src/main/java/org/apache/flink/connector/file/sink/FileSinkProgram.java
index e22e0e1d162..14689dec6fa 100644
--- 
a/flink-end-to-end-tests/flink-file-sink-test/src/main/java/org/apache/flink/connector/file/sink/FileSinkProgram.java
+++ 
b/flink-end-to-end-tests/flink-file-sink-test/src/main/java/org/apache/flink/connector/file/sink/FileSinkProgram.java
@@ -34,7 +34,6 @@ import org.apache.flink.streaming.api.datastream.DataStream;
 import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
 import org.apache.flink.streaming.api.functions.sink.filesystem.BucketAssigner;
 import 
org.apache.flink.streaming.api.functions.sink.filesystem.bucketassigners.SimpleVersionedStringSerializer;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
 import 
org.apache.flink.streaming.api.functions.sink.filesystem.rollingpolicies.OnCheckpointRollingPolicy;
 import org.apache.flink.streaming.api.functions.source.legacy.SourceFunction;
 import org.apache.flink.util.ParameterTool;
@@ -44,7 +43,7 @@ import java.time.Duration;
 import java.util.Collections;
 
 /**
- * Test program for the {@link StreamingFileSink} and {@link FileSink}.
+ * Test program for the {@link FileSink}.
  *
  * <p>Uses a source that steadily emits a deterministic set of records over 60 
seconds, after which
  * it idles and waits for job cancellation. Every record has a unique index 
that is written to the
@@ -60,7 +59,6 @@ public enum FileSinkProgram {
     public static void main(final String[] args) throws Exception {
         final ParameterTool params = ParameterTool.fromArgs(args);
         final String outputPath = params.getRequired("outputPath");
-        final String sinkToTest = params.getRequired("sinkToTest");
 
         final StreamExecutionEnvironment env = 
StreamExecutionEnvironment.getExecutionEnvironment();
 
@@ -78,38 +76,20 @@ public enum FileSinkProgram {
         // generate data, shuffle, sink
         DataStream<Tuple2<Integer, Integer>> source = env.addSource(new 
Generator(10, 10, 60));
 
-        if (sinkToTest.equalsIgnoreCase("StreamingFileSink")) {
-            final StreamingFileSink<Tuple2<Integer, Integer>> sink =
-                    StreamingFileSink.forRowFormat(
-                                    new Path(outputPath),
-                                    (Encoder<Tuple2<Integer, Integer>>)
-                                            (element, stream) -> {
-                                                PrintStream out = new 
PrintStream(stream);
-                                                out.println(element.f1);
-                                            })
-                            .withBucketAssigner(new KeyBucketAssigner())
-                            
.withRollingPolicy(OnCheckpointRollingPolicy.build())
-                            .build();
-
-            source.keyBy(x -> x.f0).addSink(sink);
-        } else if (sinkToTest.equalsIgnoreCase("FileSink")) {
-            FileSink<Tuple2<Integer, Integer>> sink =
-                    FileSink.forRowFormat(
-                                    new Path(outputPath),
-                                    (Encoder<Tuple2<Integer, Integer>>)
-                                            (element, stream) -> {
-                                                PrintStream out = new 
PrintStream(stream);
-                                                out.println(element.f1);
-                                            })
-                            .withBucketAssigner(new KeyBucketAssigner())
-                            
.withRollingPolicy(OnCheckpointRollingPolicy.build())
-                            .build();
-            source.keyBy(x -> x.f0).sinkTo(sink);
-        } else {
-            throw new UnsupportedOperationException("Unsupported sink type: " 
+ sinkToTest);
-        }
-
-        env.execute("StreamingFileSinkProgram");
+        FileSink<Tuple2<Integer, Integer>> sink =
+                FileSink.forRowFormat(
+                                new Path(outputPath),
+                                (Encoder<Tuple2<Integer, Integer>>)
+                                        (element, stream) -> {
+                                            PrintStream out = new 
PrintStream(stream);
+                                            out.println(element.f1);
+                                        })
+                        .withBucketAssigner(new KeyBucketAssigner())
+                        .withRollingPolicy(OnCheckpointRollingPolicy.build())
+                        .build();
+        source.keyBy(x -> x.f0).sinkTo(sink);
+
+        env.execute("FileSinkProgram");
     }
 
     /** Use first field for buckets. */
diff --git a/flink-end-to-end-tests/flink-stream-sql-test/pom.xml 
b/flink-end-to-end-tests/flink-stream-sql-test/pom.xml
index 3abb2714225..4e14bd2eaff 100644
--- a/flink-end-to-end-tests/flink-stream-sql-test/pom.xml
+++ b/flink-end-to-end-tests/flink-stream-sql-test/pom.xml
@@ -41,6 +41,12 @@
                        <version>${project.version}</version>
                        <scope>provided</scope>
                </dependency>
+               <!-- FileSink -->
+               <dependency>
+                       <groupId>org.apache.flink</groupId>
+                       <artifactId>flink-connector-files</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
        </dependencies>
 
        <build>
diff --git 
a/flink-end-to-end-tests/flink-stream-sql-test/src/main/java/org/apache/flink/sql/tests/StreamSQLTestProgram.java
 
b/flink-end-to-end-tests/flink-stream-sql-test/src/main/java/org/apache/flink/sql/tests/StreamSQLTestProgram.java
index b34020afcb9..43f15fcce86 100644
--- 
a/flink-end-to-end-tests/flink-stream-sql-test/src/main/java/org/apache/flink/sql/tests/StreamSQLTestProgram.java
+++ 
b/flink-end-to-end-tests/flink-stream-sql-test/src/main/java/org/apache/flink/sql/tests/StreamSQLTestProgram.java
@@ -30,6 +30,7 @@ import 
org.apache.flink.api.java.typeutils.ResultTypeQueryable;
 import org.apache.flink.api.java.typeutils.RowTypeInfo;
 import org.apache.flink.configuration.Configuration;
 import org.apache.flink.configuration.RestartStrategyOptions;
+import org.apache.flink.connector.file.sink.FileSink;
 import org.apache.flink.core.fs.Path;
 import org.apache.flink.core.io.SimpleVersionedSerializer;
 import org.apache.flink.runtime.state.FunctionInitializationContext;
@@ -39,7 +40,6 @@ import org.apache.flink.streaming.api.datastream.DataStream;
 import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
 import org.apache.flink.streaming.api.functions.sink.filesystem.BucketAssigner;
 import 
org.apache.flink.streaming.api.functions.sink.filesystem.bucketassigners.SimpleVersionedStringSerializer;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
 import 
org.apache.flink.streaming.api.functions.sink.filesystem.rollingpolicies.OnCheckpointRollingPolicy;
 import org.apache.flink.streaming.api.functions.source.legacy.SourceFunction;
 import org.apache.flink.table.api.DataTypes;
@@ -163,8 +163,8 @@ public class StreamSQLTestProgram {
                         DataTypes.ROW(
                                 DataTypes.INT(), 
DataTypes.TIMESTAMP().bridgedTo(Timestamp.class)));
 
-        final StreamingFileSink<Row> sink =
-                StreamingFileSink.forRowFormat(
+        final FileSink<Row> sink =
+                FileSink.forRowFormat(
                                 new Path(outputPath),
                                 (Encoder<Row>)
                                         (element, stream) -> {
@@ -181,7 +181,7 @@ public class StreamSQLTestProgram {
                 .map(new KillMapper())
                 .setParallelism(1)
                 // add sink function
-                .addSink(sink)
+                .sinkTo(sink)
                 .setParallelism(1);
 
         sEnv.execute();
diff --git a/flink-end-to-end-tests/run-nightly-tests.sh 
b/flink-end-to-end-tests/run-nightly-tests.sh
index eab0f865604..4b7eb708336 100755
--- a/flink-end-to-end-tests/run-nightly-tests.sh
+++ b/flink-end-to-end-tests/run-nightly-tests.sh
@@ -184,10 +184,8 @@ function run_group_3 {
     run_test "Run kubernetes SQL application test" 
"$END_TO_END_DIR/test-scripts/test_kubernetes_sql_application.sh"
     run_test "Run kubernetes Materialized Table test" 
"$END_TO_END_DIR/test-scripts/test_kubernetes_materialized_table.sh"
 
-    run_test "Streaming File Sink end-to-end test" 
"$END_TO_END_DIR/test-scripts/test_file_sink.sh local StreamingFileSink" 
"skip_check_exceptions"
-    run_test "Streaming File Sink s3 end-to-end test" 
"$END_TO_END_DIR/test-scripts/test_file_sink.sh s3 StreamingFileSink" 
"skip_check_exceptions"
-    run_test "New File Sink end-to-end test" 
"$END_TO_END_DIR/test-scripts/test_file_sink.sh local FileSink" 
"skip_check_exceptions"
-    run_test "New File Sink s3 end-to-end test" 
"$END_TO_END_DIR/test-scripts/test_file_sink.sh s3 FileSink" 
"skip_check_exceptions"
+    run_test "File Sink end-to-end test" 
"$END_TO_END_DIR/test-scripts/test_file_sink.sh local" "skip_check_exceptions"
+    run_test "File Sink s3 end-to-end test" 
"$END_TO_END_DIR/test-scripts/test_file_sink.sh s3" "skip_check_exceptions"
 
     run_test "Wordcount Hadoop S3 SeaweedFS read-write end-to-end test" 
"$END_TO_END_DIR/test-scripts/test_batch_wordcount.sh hadoop_seaweedfs"
     run_test "Wordcount Presto S3 SeaweedFS read end-to-end test" 
"$END_TO_END_DIR/test-scripts/test_batch_wordcount.sh presto_seaweedfs_read"
diff --git a/flink-end-to-end-tests/test-scripts/test_file_sink.sh 
b/flink-end-to-end-tests/test-scripts/test_file_sink.sh
index f35369f95f3..5de4731ca4c 100755
--- a/flink-end-to-end-tests/test-scripts/test_file_sink.sh
+++ b/flink-end-to-end-tests/test-scripts/test_file_sink.sh
@@ -18,7 +18,6 @@
 
################################################################################
 
 OUT_TYPE="${1:-local}" # other type: s3
-SINK_TO_TEST="${2:-"StreamingFileSink"}"
 
 source "$(dirname "$0")"/common.sh
 
@@ -153,8 +152,7 @@ function run_file_sink_test {
   "${FLINK_DIR}/bin/taskmanager.sh" start
 
   echo "Submitting job."
-  CLIENT_OUTPUT=$("$FLINK_DIR/bin/flink" run -d "${TEST_PROGRAM_JAR}" 
--outputPath "${JOB_OUTPUT_PATH}" \
-    --sinkToTest "${SINK_TO_TEST}")
+  CLIENT_OUTPUT=$("$FLINK_DIR/bin/flink" run -d "${TEST_PROGRAM_JAR}" 
--outputPath "${JOB_OUTPUT_PATH}")
   JOB_ID=$(echo "${CLIENT_OUTPUT}" | grep "Job has been submitted with JobID" 
| sed 's/.* //g')
 
   if [[ -z $JOB_ID ]]; then
@@ -194,7 +192,7 @@ function run_file_sink_test {
 
   get_complete_result > "${TEST_DATA_DIR}/complete_result"
 
-  check_result_hash "File Streaming Sink" "$TEST_DATA_DIR/complete_result" 
"6727342fdd3aae2129e61fc8f433fb6f"
+  check_result_hash "File Sink" "$TEST_DATA_DIR/complete_result" 
"6727342fdd3aae2129e61fc8f433fb6f"
 }
 
 # usual runtime is ~6 minutes
diff --git 
a/flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/AvroStreamingFileSinkITCase.java
 
b/flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/AvroFileSinkITCase.java
similarity index 93%
rename from 
flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/AvroStreamingFileSinkITCase.java
rename to 
flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/AvroFileSinkITCase.java
index e4259e65143..a549db848a0 100644
--- 
a/flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/AvroStreamingFileSinkITCase.java
+++ 
b/flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/AvroFileSinkITCase.java
@@ -21,13 +21,13 @@ package org.apache.flink.formats.avro;
 import org.apache.flink.api.common.eventtime.WatermarkStrategy;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.connector.datagen.source.TestDataGenerators;
+import org.apache.flink.connector.file.sink.FileSink;
 import org.apache.flink.core.fs.Path;
 import org.apache.flink.formats.avro.generated.Address;
 import org.apache.flink.formats.avro.typeutils.GenericRecordAvroTypeInfo;
 import org.apache.flink.streaming.api.datastream.DataStream;
 import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
 import 
org.apache.flink.streaming.api.functions.sink.filesystem.bucketassigners.UniqueBucketAssigner;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
 import org.apache.flink.test.util.AbstractTestBase;
 
 import org.apache.avro.Schema;
@@ -56,11 +56,10 @@ import java.util.concurrent.TimeUnit;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /**
- * Simple integration test case for writing bulk encoded files with the {@link 
StreamingFileSink}
- * with Avro.
+ * Simple integration test case for writing bulk encoded files with the {@link 
FileSink} with Avro.
  */
 @Timeout(value = 20, unit = TimeUnit.SECONDS)
-class AvroStreamingFileSinkITCase extends AbstractTestBase {
+class AvroFileSinkITCase extends AbstractTestBase {
 
     @Test
     void testWriteAvroSpecific(@TempDir File folder) throws Exception {
@@ -82,8 +81,8 @@ class AvroStreamingFileSinkITCase extends AbstractTestBase {
                         WatermarkStrategy.noWatermarks(),
                         "Test Source");
 
-        stream.addSink(
-                StreamingFileSink.forBulkFormat(Path.fromLocalFile(folder), 
avroWriterFactory)
+        stream.sinkTo(
+                FileSink.forBulkFormat(Path.fromLocalFile(folder), 
avroWriterFactory)
                         .withBucketAssigner(new UniqueBucketAssigner<>("test"))
                         .build());
         env.execute();
@@ -108,8 +107,8 @@ class AvroStreamingFileSinkITCase extends AbstractTestBase {
                         WatermarkStrategy.noWatermarks(),
                         "Test Source");
 
-        stream.addSink(
-                StreamingFileSink.forBulkFormat(Path.fromLocalFile(folder), 
avroWriterFactory)
+        stream.sinkTo(
+                FileSink.forBulkFormat(Path.fromLocalFile(folder), 
avroWriterFactory)
                         .withBucketAssigner(new UniqueBucketAssigner<>("test"))
                         .build());
         env.execute();
@@ -134,8 +133,8 @@ class AvroStreamingFileSinkITCase extends AbstractTestBase {
                         WatermarkStrategy.noWatermarks(),
                         "Test Source");
 
-        stream.addSink(
-                StreamingFileSink.forBulkFormat(Path.fromLocalFile(folder), 
avroWriterFactory)
+        stream.sinkTo(
+                FileSink.forBulkFormat(Path.fromLocalFile(folder), 
avroWriterFactory)
                         .withBucketAssigner(new UniqueBucketAssigner<>("test"))
                         .build());
         env.execute();
diff --git a/flink-formats/flink-compress/pom.xml 
b/flink-formats/flink-compress/pom.xml
index 06392a9c0cd..7545fbea180 100644
--- a/flink-formats/flink-compress/pom.xml
+++ b/flink-formats/flink-compress/pom.xml
@@ -89,10 +89,9 @@ under the License.
 
                <dependency>
                        <groupId>org.apache.flink</groupId>
-                       <artifactId>flink-streaming-java</artifactId>
+                       <artifactId>flink-connector-files</artifactId>
                        <version>${project.version}</version>
                        <scope>test</scope>
-                       <type>test-jar</type>
                </dependency>
 
                <dependency>
diff --git 
a/flink-formats/flink-compress/src/test/java/org/apache/flink/formats/compress/CompressWriterFactoryTest.java
 
b/flink-formats/flink-compress/src/test/java/org/apache/flink/formats/compress/CompressWriterFactoryTest.java
index 227b21ec2da..3ff7534b282 100644
--- 
a/flink-formats/flink-compress/src/test/java/org/apache/flink/formats/compress/CompressWriterFactoryTest.java
+++ 
b/flink-formats/flink-compress/src/test/java/org/apache/flink/formats/compress/CompressWriterFactoryTest.java
@@ -18,13 +18,9 @@
 
 package org.apache.flink.formats.compress;
 
-import org.apache.flink.core.fs.Path;
+import org.apache.flink.api.common.serialization.BulkWriter;
+import org.apache.flink.core.fs.local.LocalDataOutputStream;
 import org.apache.flink.formats.compress.extractor.DefaultExtractor;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.bucketassigners.UniqueBucketAssigner;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
-import org.apache.flink.streaming.api.operators.StreamSink;
-import org.apache.flink.streaming.runtime.streamrecord.StreamRecord;
-import org.apache.flink.streaming.util.OneInputStreamOperatorTestHarness;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.compress.CompressionCodec;
@@ -132,54 +128,36 @@ class CompressWriterFactoryTest {
                         .withHadoopCompression(codec, conf);
         List<String> lines = Arrays.asList("line1", "line2", "line3");
 
-        File directory = prepareCompressedFile(codec, writer, lines);
+        File partFile = writeCompressedFile(codec, writer, lines);
 
-        validateResults(directory, lines, new 
CompressionCodecFactory(conf).getCodecByName(codec));
+        validateResult(partFile, lines, new 
CompressionCodecFactory(conf).getCodecByName(codec));
     }
 
-    private File prepareCompressedFile(
+    private File writeCompressedFile(
             String codec, CompressWriterFactory<String> writer, List<String> 
lines)
             throws Exception {
         final File outDir = tmpDir.resolve(codec).toFile();
         assertThat(outDir.mkdirs()).isTrue();
+        final File partFile = new File(outDir, "part-0-0");
 
-        StreamingFileSink<String> sink =
-                StreamingFileSink.forBulkFormat(new Path(outDir.toURI()), 
writer)
-                        .withBucketAssigner(new UniqueBucketAssigner<>("test"))
-                        .build();
-
-        try (OneInputStreamOperatorTestHarness<String, Object> testHarness =
-                new OneInputStreamOperatorTestHarness<>(new 
StreamSink<>(sink), 1, 1, 0)) {
-            testHarness.setup();
-            testHarness.open();
-
-            int time = 0;
+        // finish() writes the codec trailer and flushes the compressed bytes; 
closing the
+        // stream releases the file.
+        try (LocalDataOutputStream out = new LocalDataOutputStream(partFile)) {
+            final BulkWriter<String> bulkWriter = writer.create(out);
             for (String line : lines) {
-                testHarness.processElement(new StreamRecord<>(line, ++time));
+                bulkWriter.addElement(line);
             }
-
-            testHarness.snapshot(1, ++time);
-            testHarness.notifyOfCompletedCheckpoint(1);
+            bulkWriter.finish();
         }
 
-        return outDir;
+        return partFile;
     }
 
-    private void validateResults(File folder, List<String> expected, 
CompressionCodec codec)
+    private void validateResult(File partFile, List<String> expected, 
CompressionCodec codec)
             throws Exception {
-        File[] buckets = folder.listFiles();
-        assertThat(buckets).isNotNull();
-        assertThat(buckets).hasSize(1);
-
-        final File[] partFiles = buckets[0].listFiles();
-        assertThat(partFiles).isNotNull();
-        assertThat(partFiles).hasSize(1);
-
-        for (File partFile : partFiles) {
-            assertThat(partFile.length()).isGreaterThan(0);
-            final List<String> fileContent = readFile(partFile, codec);
-            assertThat(fileContent).isEqualTo(expected);
-        }
+        assertThat(partFile.length()).isGreaterThan(0);
+        final List<String> fileContent = readFile(partFile, codec);
+        assertThat(fileContent).isEqualTo(expected);
     }
 
     private List<String> readFile(File file, CompressionCodec codec) throws 
Exception {
diff --git 
a/flink-formats/flink-compress/src/test/java/org/apache/flink/formats/compress/CompressionFactoryITCase.java
 
b/flink-formats/flink-compress/src/test/java/org/apache/flink/formats/compress/CompressionFactoryITCase.java
index 1ae3369ee6d..77ed70f4c39 100644
--- 
a/flink-formats/flink-compress/src/test/java/org/apache/flink/formats/compress/CompressionFactoryITCase.java
+++ 
b/flink-formats/flink-compress/src/test/java/org/apache/flink/formats/compress/CompressionFactoryITCase.java
@@ -21,12 +21,12 @@ package org.apache.flink.formats.compress;
 import org.apache.flink.api.common.eventtime.WatermarkStrategy;
 import org.apache.flink.api.common.typeinfo.Types;
 import org.apache.flink.connector.datagen.source.TestDataGenerators;
+import org.apache.flink.connector.file.sink.FileSink;
 import org.apache.flink.core.fs.Path;
 import org.apache.flink.formats.compress.extractor.DefaultExtractor;
 import org.apache.flink.streaming.api.datastream.DataStream;
 import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
 import 
org.apache.flink.streaming.api.functions.sink.filesystem.bucketassigners.UniqueBucketAssigner;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
 import org.apache.flink.test.junit5.MiniClusterExtension;
 
 import org.apache.hadoop.conf.Configuration;
@@ -47,8 +47,8 @@ import java.util.stream.Collectors;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /**
- * Integration test case for writing bulk encoded files with the {@link 
StreamingFileSink} and
- * Hadoop Compression Codecs.
+ * Integration test case for writing bulk encoded files with the {@link 
FileSink} and Hadoop
+ * Compression Codecs.
  */
 @ExtendWith(MiniClusterExtension.class)
 class CompressionFactoryITCase {
@@ -75,8 +75,8 @@ class CompressionFactoryITCase {
                         "Test Source");
 
         stream.map(str -> str)
-                .addSink(
-                        StreamingFileSink.forBulkFormat(
+                .sinkTo(
+                        FileSink.forBulkFormat(
                                         testPath,
                                         CompressWriters.forExtractor(new 
DefaultExtractor<String>())
                                                 
.withHadoopCompression(TEST_CODEC_NAME))
diff --git 
a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/OrcFileSystemITCase.java
 
b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/OrcFileSystemITCase.java
index 7cc9f5452b4..c42a7170455 100644
--- 
a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/OrcFileSystemITCase.java
+++ 
b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/OrcFileSystemITCase.java
@@ -18,11 +18,9 @@
 
 package org.apache.flink.orc;
 
+import org.apache.flink.orc.util.OrcBulkWriterTestUtil;
 import org.apache.flink.orc.vector.RowDataVectorizer;
 import org.apache.flink.orc.writer.OrcBulkWriterFactory;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
-import org.apache.flink.streaming.api.operators.StreamSink;
-import org.apache.flink.streaming.util.OneInputStreamOperatorTestHarness;
 import org.apache.flink.table.api.TableResult;
 import org.apache.flink.table.data.GenericArrayData;
 import org.apache.flink.table.data.GenericMapData;
@@ -325,31 +323,13 @@ public class OrcFileSystemITCase extends 
BatchFileSystemITCaseBase {
         Properties writerProps = new Properties();
         writerProps.setProperty("orc.compress", "LZ4");
 
-        final OrcBulkWriterFactory<RowData> writer =
+        final OrcBulkWriterFactory<RowData> writerFactory =
                 new OrcBulkWriterFactory<>(
                         new RowDataVectorizer(schema, fieldTypes),
                         writerProps,
                         new Configuration());
 
-        StreamingFileSink<RowData> sink =
-                StreamingFileSink.forBulkFormat(
-                                new 
org.apache.flink.core.fs.Path(outDir.toURI()), writer)
-                        .withBucketCheckInterval(10000)
-                        .build();
-
-        try (OneInputStreamOperatorTestHarness<RowData, Object> testHarness =
-                new OneInputStreamOperatorTestHarness<>(new 
StreamSink<>(sink), 1, 1, 0)) {
-
-            testHarness.setup();
-            testHarness.open();
-
-            int time = 0;
-            for (final RowData record : data) {
-                testHarness.processElement(record, ++time);
-            }
-            testHarness.snapshot(1, ++time);
-            testHarness.notifyOfCompletedCheckpoint(1);
-        }
+        OrcBulkWriterTestUtil.writeRecordsToFile(new File(outDir, "part-0-0"), 
writerFactory, data);
         return outDir.getAbsolutePath();
     }
 
diff --git 
a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/util/OrcBulkWriterTestUtil.java
 
b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/util/OrcBulkWriterTestUtil.java
index f5c8f604e18..fd56bd07d17 100644
--- 
a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/util/OrcBulkWriterTestUtil.java
+++ 
b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/util/OrcBulkWriterTestUtil.java
@@ -18,6 +18,8 @@
 
 package org.apache.flink.orc.util;
 
+import org.apache.flink.api.common.serialization.BulkWriter;
+import org.apache.flink.core.fs.local.LocalDataOutputStream;
 import org.apache.flink.orc.data.Record;
 
 import org.apache.hadoop.conf.Configuration;
@@ -43,6 +45,21 @@ public class OrcBulkWriterTestUtil {
     public static final String USER_METADATA_KEY = "userKey";
     public static final ByteBuffer USER_METADATA_VALUE = 
ByteBuffer.wrap("hello".getBytes());
 
+    /**
+     * Writes the records to the given file through a {@link BulkWriter} 
created from the factory.
+     * finish() writes the ORC footer and closes the underlying stream.
+     */
+    public static <T> void writeRecordsToFile(
+            File file, BulkWriter.Factory<T> writerFactory, List<T> records) 
throws IOException {
+        try (LocalDataOutputStream out = new LocalDataOutputStream(file)) {
+            final BulkWriter<T> writer = writerFactory.create(out);
+            for (final T record : records) {
+                writer.addElement(record);
+            }
+            writer.finish();
+        }
+    }
+
     public static void validate(File files, List<Record> expected) throws 
IOException {
         final File[] buckets = files.listFiles();
         assertThat(buckets).isNotNull();
diff --git 
a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkRowDataWriterTest.java
 
b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkRowDataWriterTest.java
index 82837e43756..6d32680e9bb 100644
--- 
a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkRowDataWriterTest.java
+++ 
b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkRowDataWriterTest.java
@@ -18,12 +18,8 @@
 
 package org.apache.flink.orc.writer;
 
-import org.apache.flink.core.fs.Path;
+import org.apache.flink.orc.util.OrcBulkWriterTestUtil;
 import org.apache.flink.orc.vector.RowDataVectorizer;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.bucketassigners.UniqueBucketAssigner;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
-import org.apache.flink.streaming.api.operators.StreamSink;
-import org.apache.flink.streaming.util.OneInputStreamOperatorTestHarness;
 import org.apache.flink.table.data.ArrayData;
 import org.apache.flink.table.data.GenericArrayData;
 import org.apache.flink.table.data.GenericMapData;
@@ -86,34 +82,20 @@ class OrcBulkRowDataWriterTest {
         final Properties writerProps = new Properties();
         writerProps.setProperty("orc.compress", "LZ4");
 
-        final OrcBulkWriterFactory<RowData> writer =
+        final OrcBulkWriterFactory<RowData> writerFactory =
                 new OrcBulkWriterFactory<>(
                         new RowDataVectorizer(schema, fieldTypes),
                         writerProps,
                         new Configuration());
 
-        StreamingFileSink<RowData> sink =
-                StreamingFileSink.forBulkFormat(new Path(outDir.toURI()), 
writer)
-                        .withBucketAssigner(new UniqueBucketAssigner<>("test"))
-                        .withBucketCheckInterval(10000)
-                        .build();
+        // Mimic a single bucket directory so the validate(...) helper applies.
+        final File bucketDir = new File(outDir, "test");
+        assertThat(bucketDir.mkdirs()).isTrue();
 
-        try (OneInputStreamOperatorTestHarness<RowData, Object> testHarness =
-                new OneInputStreamOperatorTestHarness<>(new 
StreamSink<>(sink), 1, 1, 0)) {
+        OrcBulkWriterTestUtil.writeRecordsToFile(
+                new File(bucketDir, "part-0-0"), writerFactory, input);
 
-            testHarness.setup();
-            testHarness.open();
-
-            int time = 0;
-            for (final RowData record : input) {
-                testHarness.processElement(record, ++time);
-            }
-
-            testHarness.snapshot(1, ++time);
-            testHarness.notifyOfCompletedCheckpoint(1);
-
-            validate(outDir, input);
-        }
+        validate(outDir, input);
     }
 
     @BeforeEach
diff --git 
a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkWriterITCase.java
 
b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkWriterITCase.java
index 2cbb68ff524..53a0a44071f 100644
--- 
a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkWriterITCase.java
+++ 
b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkWriterITCase.java
@@ -21,6 +21,7 @@ package org.apache.flink.orc.writer;
 import org.apache.flink.api.common.eventtime.WatermarkStrategy;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.connector.datagen.source.TestDataGenerators;
+import org.apache.flink.connector.file.sink.FileSink;
 import org.apache.flink.core.fs.Path;
 import org.apache.flink.orc.data.Record;
 import org.apache.flink.orc.util.OrcBulkWriterTestUtil;
@@ -28,7 +29,6 @@ import org.apache.flink.orc.vector.RecordVectorizer;
 import org.apache.flink.streaming.api.datastream.DataStream;
 import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
 import 
org.apache.flink.streaming.api.functions.sink.filesystem.bucketassigners.UniqueBucketAssigner;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
 
 import org.apache.hadoop.conf.Configuration;
 import org.junit.jupiter.api.Test;
@@ -39,7 +39,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Properties;
 
-/** Integration test for writing data in ORC bulk format using 
StreamingFileSink. */
+/** Integration test for writing data in ORC bulk format using {@link 
FileSink}. */
 class OrcBulkWriterITCase {
 
     private final String schema = "struct<_col0:string,_col1:int>";
@@ -67,8 +67,8 @@ class OrcBulkWriterITCase {
                         "Test Source");
 
         stream.map(str -> str)
-                .addSink(
-                        StreamingFileSink.forBulkFormat(new 
Path(outDir.toURI()), factory)
+                .sinkTo(
+                        FileSink.forBulkFormat(new Path(outDir.toURI()), 
factory)
                                 .withBucketAssigner(new 
UniqueBucketAssigner<>("test"))
                                 .build());
 
diff --git 
a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkWriterTest.java
 
b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkWriterTest.java
index e87785902dc..75b9a851da5 100644
--- 
a/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkWriterTest.java
+++ 
b/flink-formats/flink-orc/src/test/java/org/apache/flink/orc/writer/OrcBulkWriterTest.java
@@ -18,14 +18,9 @@
 
 package org.apache.flink.orc.writer;
 
-import org.apache.flink.core.fs.Path;
 import org.apache.flink.orc.data.Record;
 import org.apache.flink.orc.util.OrcBulkWriterTestUtil;
 import org.apache.flink.orc.vector.RecordVectorizer;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.bucketassigners.UniqueBucketAssigner;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
-import org.apache.flink.streaming.api.operators.StreamSink;
-import org.apache.flink.streaming.util.OneInputStreamOperatorTestHarness;
 
 import org.apache.hadoop.conf.Configuration;
 import org.junit.jupiter.api.Test;
@@ -36,6 +31,8 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Properties;
 
+import static org.assertj.core.api.Assertions.assertThat;
+
 /** Unit test for the ORC BulkWriter implementation. */
 class OrcBulkWriterTest {
 
@@ -48,31 +45,17 @@ class OrcBulkWriterTest {
         final Properties writerProps = new Properties();
         writerProps.setProperty("orc.compress", "LZ4");
 
-        final OrcBulkWriterFactory<Record> writer =
+        final OrcBulkWriterFactory<Record> writerFactory =
                 new OrcBulkWriterFactory<>(
                         new RecordVectorizer(schema), writerProps, new 
Configuration());
 
-        StreamingFileSink<Record> sink =
-                StreamingFileSink.forBulkFormat(new Path(outDir.toURI()), 
writer)
-                        .withBucketAssigner(new UniqueBucketAssigner<>("test"))
-                        .withBucketCheckInterval(10000)
-                        .build();
-
-        try (OneInputStreamOperatorTestHarness<Record, Object> testHarness =
-                new OneInputStreamOperatorTestHarness<>(new 
StreamSink<>(sink), 1, 1, 0)) {
-
-            testHarness.setup();
-            testHarness.open();
-
-            int time = 0;
-            for (final Record record : input) {
-                testHarness.processElement(record, ++time);
-            }
+        // Mimic a single bucket directory so the shared 
OrcBulkWriterTestUtil.validate applies.
+        final File bucketDir = new File(outDir, "test");
+        assertThat(bucketDir.mkdirs()).isTrue();
 
-            testHarness.snapshot(1, ++time);
-            testHarness.notifyOfCompletedCheckpoint(1);
+        OrcBulkWriterTestUtil.writeRecordsToFile(
+                new File(bucketDir, "part-0-0"), writerFactory, input);
 
-            OrcBulkWriterTestUtil.validate(outDir, input);
-        }
+        OrcBulkWriterTestUtil.validate(outDir, input);
     }
 }
diff --git 
a/flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/avro/AvroParquetStreamingFileSinkITCase.java
 
b/flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/avro/AvroParquetFileSinkITCase.java
similarity index 95%
rename from 
flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/avro/AvroParquetStreamingFileSinkITCase.java
rename to 
flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/avro/AvroParquetFileSinkITCase.java
index 6e4cb845ccd..0e43da01127 100644
--- 
a/flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/avro/AvroParquetStreamingFileSinkITCase.java
+++ 
b/flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/avro/AvroParquetFileSinkITCase.java
@@ -21,13 +21,13 @@ package org.apache.flink.formats.parquet.avro;
 import org.apache.flink.api.common.eventtime.WatermarkStrategy;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.connector.datagen.source.TestDataGenerators;
+import org.apache.flink.connector.file.sink.FileSink;
 import org.apache.flink.core.fs.Path;
 import org.apache.flink.formats.avro.typeutils.GenericRecordAvroTypeInfo;
 import org.apache.flink.formats.parquet.generated.Address;
 import org.apache.flink.streaming.api.datastream.DataStream;
 import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
 import 
org.apache.flink.streaming.api.functions.sink.filesystem.bucketassigners.UniqueBucketAssigner;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
 import org.apache.flink.test.junit5.MiniClusterExtension;
 
 import org.apache.avro.Schema;
@@ -57,11 +57,11 @@ import java.util.List;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /**
- * Simple integration test case for writing bulk encoded files with the {@link 
StreamingFileSink}
- * with Parquet.
+ * Simple integration test case for writing bulk encoded files with the {@link 
FileSink} with
+ * Parquet.
  */
 @ExtendWith(MiniClusterExtension.class)
-class AvroParquetStreamingFileSinkITCase {
+class AvroParquetFileSinkITCase {
 
     @Test
     void testWriteParquetAvroSpecific(@TempDir File folder) throws Exception {
@@ -83,8 +83,8 @@ class AvroParquetStreamingFileSinkITCase {
                         WatermarkStrategy.noWatermarks(),
                         "Test Source");
 
-        stream.addSink(
-                StreamingFileSink.forBulkFormat(
+        stream.sinkTo(
+                FileSink.forBulkFormat(
                                 Path.fromLocalFile(folder),
                                 
AvroParquetWriters.forSpecificRecord(Address.class))
                         .withBucketAssigner(new UniqueBucketAssigner<>("test"))
@@ -113,8 +113,8 @@ class AvroParquetStreamingFileSinkITCase {
                         WatermarkStrategy.noWatermarks(),
                         "Test Source");
 
-        stream.addSink(
-                StreamingFileSink.forBulkFormat(
+        stream.sinkTo(
+                FileSink.forBulkFormat(
                                 Path.fromLocalFile(folder),
                                 AvroParquetWriters.forGenericRecord(schema))
                         .withBucketAssigner(new UniqueBucketAssigner<>("test"))
@@ -147,8 +147,8 @@ class AvroParquetStreamingFileSinkITCase {
                         WatermarkStrategy.noWatermarks(),
                         "Test Source");
 
-        stream.addSink(
-                StreamingFileSink.forBulkFormat(
+        stream.sinkTo(
+                FileSink.forBulkFormat(
                                 Path.fromLocalFile(folder),
                                 
AvroParquetWriters.forReflectRecord(Datum.class))
                         .withBucketAssigner(new UniqueBucketAssigner<>("test"))
diff --git 
a/flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/protobuf/ParquetProtoStreamingFileSinkITCase.java
 
b/flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/protobuf/ParquetProtoFileSinkITCase.java
similarity index 95%
rename from 
flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/protobuf/ParquetProtoStreamingFileSinkITCase.java
rename to 
flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/protobuf/ParquetProtoFileSinkITCase.java
index f4e42634827..7a8718b9d23 100644
--- 
a/flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/protobuf/ParquetProtoStreamingFileSinkITCase.java
+++ 
b/flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/protobuf/ParquetProtoFileSinkITCase.java
@@ -21,11 +21,11 @@ package org.apache.flink.formats.parquet.protobuf;
 import org.apache.flink.api.common.eventtime.WatermarkStrategy;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.connector.datagen.source.TestDataGenerators;
+import org.apache.flink.connector.file.sink.FileSink;
 import org.apache.flink.core.fs.Path;
 import org.apache.flink.streaming.api.datastream.DataStream;
 import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
 import 
org.apache.flink.streaming.api.functions.sink.filesystem.bucketassigners.UniqueBucketAssigner;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
 import org.apache.flink.test.junit5.MiniClusterExtension;
 
 import com.google.protobuf.Message;
@@ -47,11 +47,11 @@ import static 
org.apache.flink.formats.parquet.protobuf.SimpleRecord.SimpleProto
 import static org.assertj.core.api.Assertions.assertThat;
 
 /**
- * Simple integration test case for writing bulk encoded files with the {@link 
StreamingFileSink}
- * with Parquet.
+ * Simple integration test case for writing bulk encoded files with the {@link 
FileSink} with
+ * Parquet.
  */
 @ExtendWith(MiniClusterExtension.class)
-class ParquetProtoStreamingFileSinkITCase {
+class ParquetProtoFileSinkITCase {
 
     @Test
     void testParquetProtoWriters(@TempDir File folder) throws Exception {
@@ -73,8 +73,8 @@ class ParquetProtoStreamingFileSinkITCase {
                         WatermarkStrategy.noWatermarks(),
                         "Test Source");
 
-        stream.addSink(
-                StreamingFileSink.forBulkFormat(
+        stream.sinkTo(
+                FileSink.forBulkFormat(
                                 Path.fromLocalFile(folder),
                                 
ParquetProtoWriters.forType(SimpleProtoRecord.class))
                         .withBucketAssigner(new UniqueBucketAssigner<>("test"))
diff --git a/flink-formats/flink-sequence-file/pom.xml 
b/flink-formats/flink-sequence-file/pom.xml
index 509eda9d4a7..a77bb6fb64a 100644
--- a/flink-formats/flink-sequence-file/pom.xml
+++ b/flink-formats/flink-sequence-file/pom.xml
@@ -89,7 +89,7 @@ under the License.
 
                <dependency>
                        <groupId>org.apache.flink</groupId>
-                       <artifactId>flink-streaming-java</artifactId>
+                       <artifactId>flink-connector-files</artifactId>
                        <version>${project.version}</version>
                        <scope>test</scope>
                </dependency>
diff --git 
a/flink-formats/flink-sequence-file/src/test/java/org/apache/flink/formats/sequencefile/SequenceStreamingFileSinkITCase.java
 
b/flink-formats/flink-sequence-file/src/test/java/org/apache/flink/formats/sequencefile/SequenceFileSinkITCase.java
similarity index 95%
rename from 
flink-formats/flink-sequence-file/src/test/java/org/apache/flink/formats/sequencefile/SequenceStreamingFileSinkITCase.java
rename to 
flink-formats/flink-sequence-file/src/test/java/org/apache/flink/formats/sequencefile/SequenceFileSinkITCase.java
index 37b9626877c..7ced5df29f6 100644
--- 
a/flink-formats/flink-sequence-file/src/test/java/org/apache/flink/formats/sequencefile/SequenceStreamingFileSinkITCase.java
+++ 
b/flink-formats/flink-sequence-file/src/test/java/org/apache/flink/formats/sequencefile/SequenceFileSinkITCase.java
@@ -24,11 +24,11 @@ import org.apache.flink.api.common.typeinfo.TypeHint;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.java.tuple.Tuple2;
 import org.apache.flink.connector.datagen.source.TestDataGenerators;
+import org.apache.flink.connector.file.sink.FileSink;
 import org.apache.flink.core.fs.Path;
 import org.apache.flink.streaming.api.datastream.DataStream;
 import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
 import 
org.apache.flink.streaming.api.functions.sink.filesystem.bucketassigners.UniqueBucketAssigner;
-import 
org.apache.flink.streaming.api.functions.sink.filesystem.legacy.StreamingFileSink;
 import org.apache.flink.test.junit5.MiniClusterExtension;
 
 import org.apache.hadoop.conf.Configuration;
@@ -48,11 +48,10 @@ import java.util.List;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /**
- * Integration test case for writing bulk encoded files with the {@link 
StreamingFileSink} with
- * SequenceFile.
+ * Integration test case for writing bulk encoded files with the {@link 
FileSink} with SequenceFile.
  */
 @ExtendWith(MiniClusterExtension.class)
-class SequenceStreamingFileSinkITCase {
+class SequenceFileSinkITCase {
 
     private final Configuration configuration = new Configuration();
 
@@ -83,8 +82,8 @@ class SequenceStreamingFileSinkITCase {
                                 return new Tuple2<>(new 
LongWritable(value.f0), new Text(value.f1));
                             }
                         })
-                .addSink(
-                        StreamingFileSink.forBulkFormat(
+                .sinkTo(
+                        FileSink.forBulkFormat(
                                         testPath,
                                         new SequenceFileWriterFactory<>(
                                                 configuration,


Reply via email to