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

yuanzhou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git


The following commit(s) were added to refs/heads/main by this push:
     new b51a0e47af [VL] Fix iceberg PRs conflict (#10498)
b51a0e47af is described below

commit b51a0e47af9f5bec4cfdb1232558ec0e68bbfd9e
Author: Jin Chengcheng <[email protected]>
AuthorDate: Wed Aug 20 21:03:09 2025 +0100

    [VL] Fix iceberg PRs conflict (#10498)
---
 .../gluten/execution/VeloxIcebergReplaceDataExec.scala       | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git 
a/backends-velox/src-iceberg/main/scala/org/apache/gluten/execution/VeloxIcebergReplaceDataExec.scala
 
b/backends-velox/src-iceberg/main/scala/org/apache/gluten/execution/VeloxIcebergReplaceDataExec.scala
index 720ee09daf..2a6df03e8a 100644
--- 
a/backends-velox/src-iceberg/main/scala/org/apache/gluten/execution/VeloxIcebergReplaceDataExec.scala
+++ 
b/backends-velox/src-iceberg/main/scala/org/apache/gluten/execution/VeloxIcebergReplaceDataExec.scala
@@ -16,6 +16,7 @@
  */
 package org.apache.gluten.execution
 
+import org.apache.gluten.IcebergNestedFieldVisitor
 import org.apache.gluten.connector.write.{ColumnarBatchDataWriterFactory, 
IcebergDataWriteFactory}
 
 import org.apache.spark.sql.connector.write.Write
@@ -24,6 +25,7 @@ import org.apache.spark.sql.execution.datasources.v2._
 import org.apache.spark.sql.types.StructType
 
 import org.apache.iceberg.spark.source.IcebergWriteUtil
+import org.apache.iceberg.types.TypeUtil
 
 case class VeloxIcebergReplaceDataExec(query: SparkPlan, refreshCache: () => 
Unit, write: Write)
   extends IcebergAppendDataExec {
@@ -31,13 +33,19 @@ case class VeloxIcebergReplaceDataExec(query: SparkPlan, 
refreshCache: () => Uni
   override protected def withNewChildInternal(newChild: SparkPlan): 
IcebergAppendDataExec =
     copy(query = newChild)
 
-  override def createFactory(schema: StructType): 
ColumnarBatchDataWriterFactory =
+  override def createFactory(schema: StructType): 
ColumnarBatchDataWriterFactory = {
+    val writeSchema = IcebergWriteUtil.getWriteSchema(write)
+    val nestedField = TypeUtil.visit(writeSchema, new 
IcebergNestedFieldVisitor)
     IcebergDataWriteFactory(
       schema,
       getFileFormat(IcebergWriteUtil.getFileFormat(write)),
       IcebergWriteUtil.getDirectory(write),
       getCodec,
-      getPartitionSpec)
+      getPartitionSpec,
+      IcebergWriteUtil.getSortOrder(write),
+      nestedField
+    )
+  }
 }
 
 object VeloxIcebergReplaceDataExec {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to