diff --git a/spark/src/main/java/org/apache/iceberg/spark/source/RowDataRewriter.java b/spark/src/main/java/org/apache/iceberg/spark/source/RowDataRewriter.java index 06793c5b01a9..07c7e008bab6 100644 --- a/spark/src/main/java/org/apache/iceberg/spark/source/RowDataRewriter.java +++ b/spark/src/main/java/org/apache/iceberg/spark/source/RowDataRewriter.java @@ -104,7 +104,7 @@ private List rewriteDataForTask(CombinedScanTask task) throws Exceptio spec, format, locations, io.value(), encryptionManager.value(), partitionId, taskId); TaskWriter writer; - if (spec.fields().isEmpty()) { + if (spec.isUnpartitioned()) { writer = new UnpartitionedWriter<>(spec, format, appenderFactory, fileFactory, io.value(), Long.MAX_VALUE); } else if (PropertyUtil.propertyAsBoolean(properties, diff --git a/spark2/src/main/java/org/apache/iceberg/spark/source/Writer.java b/spark2/src/main/java/org/apache/iceberg/spark/source/Writer.java index 51ec5956f862..f54eae796e6b 100644 --- a/spark2/src/main/java/org/apache/iceberg/spark/source/Writer.java +++ b/spark2/src/main/java/org/apache/iceberg/spark/source/Writer.java @@ -278,7 +278,7 @@ public DataWriter createDataWriter(int partitionId, long taskId, lo spec, format, locations, io.value(), encryptionManager.value(), partitionId, taskId); SparkAppenderFactory appenderFactory = new SparkAppenderFactory(properties, writeSchema, dsSchema, spec); - if (spec.fields().isEmpty()) { + if (spec.isUnpartitioned()) { return new Unpartitioned24Writer(spec, format, appenderFactory, fileFactory, io.value(), targetFileSize); } else if (partitionedFanoutEnabled) { return new PartitionedFanout24Writer(spec, format, appenderFactory, fileFactory, io.value(), targetFileSize, diff --git a/spark3/src/main/java/org/apache/iceberg/spark/source/SparkWrite.java b/spark3/src/main/java/org/apache/iceberg/spark/source/SparkWrite.java index c5c3faade41a..2fc803f8b090 100644 --- a/spark3/src/main/java/org/apache/iceberg/spark/source/SparkWrite.java +++ b/spark3/src/main/java/org/apache/iceberg/spark/source/SparkWrite.java @@ -516,7 +516,7 @@ public DataWriter createWriter(int partitionId, long taskId, long e OutputFileFactory fileFactory = new OutputFileFactory( spec, format, locations, io.value(), encryptionManager.value(), partitionId, taskId); SparkAppenderFactory appenderFactory = new SparkAppenderFactory(properties, writeSchema, dsSchema, spec); - if (spec.fields().isEmpty()) { + if (spec.isUnpartitioned()) { return new Unpartitioned3Writer(spec, format, appenderFactory, fileFactory, io.value(), targetFileSize); } else if (partitionedFanoutEnabled) { return new PartitionedFanout3Writer(