diff --git a/fe/fe-core/src/main/java/org/apache/iceberg/MetadataParser.java b/fe/fe-core/src/main/java/org/apache/iceberg/MetadataParser.java
index b460407acc2b0d..e2b1fe1c081712 100644
--- a/fe/fe-core/src/main/java/org/apache/iceberg/MetadataParser.java
+++ b/fe/fe-core/src/main/java/org/apache/iceberg/MetadataParser.java
@@ -20,6 +20,7 @@
import com.starrocks.connector.metadata.MetadataCollectJob;
import com.starrocks.connector.share.iceberg.CommonMetadataBean;
import com.starrocks.connector.share.iceberg.IcebergMetricsBean;
+import com.starrocks.connector.share.iceberg.UnmodifiableCollectionsSerializer;
import com.starrocks.qe.ConnectContext;
import com.starrocks.qe.scheduler.Coordinator;
import com.starrocks.rpc.ConfigurableSerDesFactory;
diff --git a/java-extensions/hadoop-ext/pom.xml b/java-extensions/hadoop-ext/pom.xml
index b70a73d9016717..aabd9c1ed74784 100644
--- a/java-extensions/hadoop-ext/pom.xml
+++ b/java-extensions/hadoop-ext/pom.xml
@@ -44,6 +44,12 @@
${iceberg.version}
provided
+
+
+ com.esotericsoftware
+ kryo-shaded
+ 4.0.2
+
diff --git a/java-extensions/hadoop-ext/src/main/java/com/starrocks/connector/share/iceberg/JavaImmutableMapSerializer.java b/java-extensions/hadoop-ext/src/main/java/com/starrocks/connector/share/iceberg/JavaImmutableMapSerializer.java
new file mode 100644
index 00000000000000..3cfe6e81323e66
--- /dev/null
+++ b/java-extensions/hadoop-ext/src/main/java/com/starrocks/connector/share/iceberg/JavaImmutableMapSerializer.java
@@ -0,0 +1,66 @@
+package com.starrocks.connector.share.iceberg;
+
+import com.esotericsoftware.kryo.Kryo;
+import com.esotericsoftware.kryo.Serializer;
+import com.esotericsoftware.kryo.io.Input;
+import com.esotericsoftware.kryo.io.Output;
+import java.io.Serializable;
+import java.util.Map;
+
+@SuppressWarnings("rawtypes")
+public class JavaImmutableMapSerializer extends Serializer