11diff --git a/spark/v3.4/build.gradle b/spark/v3.4/build.gradle
2- index 6eb26e8..90d848d 100644
2+ index 6eb26e8..c288e72 100644
33--- a/spark/v3.4/build.gradle
44+++ b/spark/v3.4/build.gradle
55@@ -75,7 +75,7 @@ project(":iceberg-spark:iceberg-spark-${sparkMajorVersion}_${scalaVersion}") {
@@ -20,15 +20,16 @@ index 6eb26e8..90d848d 100644
2020
2121 // Required because we remove antlr plugin dependencies from the compile configuration, see note above
2222 runtimeOnly libs.antlr.runtime
23- @@ -260,6 +260,7 @@ project(":iceberg-spark:iceberg-spark-runtime-${sparkMajorVersion}_${scalaVersio
23+ @@ -260,6 +260,8 @@ project(":iceberg-spark:iceberg-spark-runtime-${sparkMajorVersion}_${scalaVersio
2424 integrationImplementation project(path: ':iceberg-hive-metastore', configuration: 'testArtifacts')
2525 integrationImplementation project(path: ":iceberg-spark:iceberg-spark-${sparkMajorVersion}_${scalaVersion}", configuration: 'testArtifacts')
2626 integrationImplementation project(path: ":iceberg-spark:iceberg-spark-extensions-${sparkMajorVersion}_${scalaVersion}", configuration: 'testArtifacts')
27+ + integrationImplementation project(path: ':iceberg-parquet')
2728+ integrationImplementation "org.apache.datafusion:comet-spark-spark${sparkMajorVersion}_${scalaVersion}:0.9.0-SNAPSHOT"
2829
2930 // runtime dependencies for running Hive Catalog based integration test
3031 integrationRuntimeOnly project(':iceberg-hive-metastore')
31- @@ -297,8 +298 ,8 @@ project(":iceberg-spark:iceberg-spark-runtime-${sparkMajorVersion}_${scalaVersio
32+ @@ -297,8 +299 ,8 @@ project(":iceberg-spark:iceberg-spark-runtime-${sparkMajorVersion}_${scalaVersio
3233 relocate 'org.apache.avro', 'org.apache.iceberg.shaded.org.apache.avro'
3334 relocate 'avro.shaded', 'org.apache.iceberg.shaded.org.apache.avro.shaded'
3435 relocate 'com.thoughtworks.paranamer', 'org.apache.iceberg.shaded.com.thoughtworks.paranamer'
@@ -39,6 +40,19 @@ index 6eb26e8..90d848d 100644
3940 relocate 'org.apache.orc', 'org.apache.iceberg.shaded.org.apache.orc'
4041 relocate 'io.airlift', 'org.apache.iceberg.shaded.io.airlift'
4142 relocate 'org.apache.hc.client5', 'org.apache.iceberg.shaded.org.apache.hc.client5'
43+ diff --git a/spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/SparkSQLProperties.java b/spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/SparkSQLProperties.java
44+ index 0ca1236..87daef4 100644
45+ --- a/spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/SparkSQLProperties.java
46+ +++ b/spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/SparkSQLProperties.java
47+ @@ -29,7 +29,7 @@ public class SparkSQLProperties {
48+
49+ // Controls which Parquet reader implementation to use
50+ public static final String PARQUET_READER_TYPE = "spark.sql.iceberg.parquet.reader-type";
51+ - public static final ParquetReaderType PARQUET_READER_TYPE_DEFAULT = ParquetReaderType.ICEBERG;
52+ + public static final ParquetReaderType PARQUET_READER_TYPE_DEFAULT = ParquetReaderType.COMET;
53+
54+ // Controls whether reading/writing timestamps without timezones is allowed
55+ @Deprecated
4256diff --git a/spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometColumnReader.java b/spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometColumnReader.java
4357index 4794863..8d02f02 100644
4458--- a/spark/v3.4/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometColumnReader.java
@@ -87,6 +101,36 @@ index a361a7f..9021cd5 100644
87101+ return true;
88102+ }
89103 }
104+ diff --git a/spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWriterV2.java b/spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWriterV2.java
105+ index 47a0e87..531b7ce 100644
106+ --- a/spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWriterV2.java
107+ +++ b/spark/v3.4/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWriterV2.java
108+ @@ -41,6 +41,7 @@ import org.apache.spark.sql.internal.SQLConf;
109+ import org.junit.After;
110+ import org.junit.Assert;
111+ import org.junit.Before;
112+ + import org.junit.Ignore;
113+ import org.junit.Test;
114+
115+ public class TestDataFrameWriterV2 extends SparkTestBaseWithCatalog {
116+ @@ -214,7 +215,7 @@ public class TestDataFrameWriterV2 extends SparkTestBaseWithCatalog {
117+ Assert.assertEquals(4, fields.size());
118+ }
119+
120+ - @Test
121+ + @Ignore
122+ public void testMergeSchemaIgnoreCastingLongToInt() throws Exception {
123+ sql(
124+ "ALTER TABLE %s SET TBLPROPERTIES ('%s'='true')",
125+ @@ -254,7 +255,7 @@ public class TestDataFrameWriterV2 extends SparkTestBaseWithCatalog {
126+ assertThat(idField.type().typeId()).isEqualTo(Type.TypeID.LONG);
127+ }
128+
129+ - @Test
130+ + @Ignore
131+ public void testMergeSchemaIgnoreCastingDoubleToFloat() throws Exception {
132+ removeTables();
133+ sql("CREATE TABLE %s (id double, data string) USING iceberg", tableName);
90134diff --git a/spark/v3.5/build.gradle b/spark/v3.5/build.gradle
91135index e2d2c7a..8b5bff8 100644
92136--- a/spark/v3.5/build.gradle
@@ -129,6 +173,19 @@ index e2d2c7a..8b5bff8 100644
129173 relocate 'org.apache.orc', 'org.apache.iceberg.shaded.org.apache.orc'
130174 relocate 'io.airlift', 'org.apache.iceberg.shaded.io.airlift'
131175 relocate 'org.apache.hc.client5', 'org.apache.iceberg.shaded.org.apache.hc.client5'
176+ diff --git a/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkSQLProperties.java b/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkSQLProperties.java
177+ index d6c16bb..123a300 100644
178+ --- a/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkSQLProperties.java
179+ +++ b/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkSQLProperties.java
180+ @@ -29,7 +29,7 @@ public class SparkSQLProperties {
181+
182+ // Controls which Parquet reader implementation to use
183+ public static final String PARQUET_READER_TYPE = "spark.sql.iceberg.parquet.reader-type";
184+ - public static final ParquetReaderType PARQUET_READER_TYPE_DEFAULT = ParquetReaderType.ICEBERG;
185+ + public static final ParquetReaderType PARQUET_READER_TYPE_DEFAULT = ParquetReaderType.COMET;
186+ // Controls whether to perform the nullability check during writes
187+ public static final String CHECK_NULLABILITY = "spark.sql.iceberg.check-nullability";
188+ public static final boolean CHECK_NULLABILITY_DEFAULT = true;
132189diff --git a/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometColumnReader.java b/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometColumnReader.java
133190index 4794863..8d02f02 100644
134191--- a/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/CometColumnReader.java
@@ -177,3 +234,33 @@ index a361a7f..9021cd5 100644
177234+ return true;
178235+ }
179236 }
237+ diff --git a/spark/v3.5/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWriterV2.java b/spark/v3.5/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWriterV2.java
238+ index 7404b18..6ce9485 100644
239+ --- a/spark/v3.5/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWriterV2.java
240+ +++ b/spark/v3.5/spark/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWriterV2.java
241+ @@ -40,6 +40,7 @@ import org.apache.spark.sql.catalyst.parser.ParseException;
242+ import org.apache.spark.sql.internal.SQLConf;
243+ import org.junit.jupiter.api.AfterEach;
244+ import org.junit.jupiter.api.BeforeEach;
245+ + import org.junit.jupiter.api.Disabled;
246+ import org.junit.jupiter.api.TestTemplate;
247+
248+ public class TestDataFrameWriterV2 extends TestBaseWithCatalog {
249+ @@ -248,7 +249,7 @@ public class TestDataFrameWriterV2 extends TestBaseWithCatalog {
250+ sql("select * from %s order by id", tableName));
251+ }
252+
253+ - @TestTemplate
254+ + @Disabled
255+ public void testMergeSchemaIgnoreCastingLongToInt() throws Exception {
256+ sql(
257+ "ALTER TABLE %s SET TBLPROPERTIES ('%s'='true')",
258+ @@ -288,7 +289,7 @@ public class TestDataFrameWriterV2 extends TestBaseWithCatalog {
259+ assertThat(idField.type().typeId()).isEqualTo(Type.TypeID.LONG);
260+ }
261+
262+ - @TestTemplate
263+ + @Disabled
264+ public void testMergeSchemaIgnoreCastingDoubleToFloat() throws Exception {
265+ removeTables();
266+ sql("CREATE TABLE %s (id double, data string) USING iceberg", tableName);
0 commit comments