You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@amoro.apache.org by ji...@apache.org on 2024/04/03 08:35:15 UTC

(incubator-amoro) branch master updated: [AMORO-1747] Ban guava direct import when building (#2679)

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

jinsongzhou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-amoro.git


The following commit(s) were added to refs/heads/master by this push:
     new 0c5a17368 [AMORO-1747] Ban guava direct import when building (#2679)
0c5a17368 is described below

commit 0c5a17368cce5a39292f52d316a20821d64a237e
Author: Congxian Qiu <qc...@gmail.com>
AuthorDate: Wed Apr 3 16:35:11 2024 +0800

    [AMORO-1747] Ban guava direct import when building (#2679)
    
    * [AMORO-1747] Ban guava direct import when building
    
    * spotless:apply for trino mixed format
    
    * fix can find class
    
    * fix all invalid guava import
    
    ---------
    
    Co-authored-by: Qishang Zhong <zh...@gmail.com>
---
 .../netease/arctic/api/config/ConfigHelpers.java   |   4 +-
 .../netease/arctic/api/config/ConfigOption.java    |   2 +-
 .../netease/arctic/api/config/ConfigOptions.java   |   2 +-
 .../netease/arctic/api/config/Configurations.java  |   2 +-
 .../arctic/api/config/OptimizingConfig.java        |   2 +-
 .../arctic/api/config/TagConfiguration.java        |   2 +-
 .../netease/arctic/api/metrics/MetricDefine.java   |   2 +-
 .../com/netease/arctic/api/metrics/MetricKey.java  |   4 +-
 .../optimizer/common/TestOptimizerExecutor.java    |   2 +-
 .../optimizer/common/TestOptimizerToucher.java     |   2 +-
 .../optimizer/flink/FlinkOptimizerExecutor.java    |   2 +-
 .../arctic/server/ArcticServiceContainer.java      |   4 +-
 .../netease/arctic/server/RestCatalogService.java  |   4 +-
 .../dashboard/MixedAndIcebergTableDescriptor.java  |   5 +-
 .../dashboard/component/reverser/DDLReverser.java  |   2 +-
 .../component/reverser/PaimonTableMetaExtract.java |   2 +-
 .../dashboard/controller/OptimizerController.java  |   2 +-
 .../controller/PlatformFileInfoController.java     |   2 +-
 .../dashboard/model/AmoroSnapshotsOfTable.java     |   2 +-
 .../arctic/server/metrics/MetricRegistry.java      |   2 +-
 .../arctic/server/optimizing/SchedulingPolicy.java |   2 +-
 .../arctic/server/optimizing/TaskRuntime.java      |   4 +-
 .../maintainer/MixedTableMaintainer.java           |   4 +-
 .../server/persistence/NestedSqlSession.java       |   2 +-
 .../arctic/server/persistence/PersistentBase.java  |   2 +-
 .../arctic/server/resource/ContainerMetadata.java  |   4 +-
 .../arctic/server/resource/ResourceContainers.java |   4 +-
 .../arctic/server/table/DefaultTableService.java   |  10 +-
 .../netease/arctic/server/table/TableMetadata.java |   2 +-
 .../internal/InternalMixedIcebergCreator.java      |   2 +-
 .../arctic/server/terminal/ExecutionResult.java    |   2 +-
 .../server/terminal/TerminalSessionFactory.java    |   2 +-
 .../server/utils/StructuredOptionsSplitter.java    |   2 +-
 .../server/TestDefaultOptimizingService.java       |   2 +-
 .../optimizing/TestIcebergHadoopOptimizing.java    |   2 +-
 .../server/optimizing/TestOptimizingQueue.java     |   2 +-
 .../flow/view/AbstractTableDataView.java           |   2 +-
 .../optimizing/flow/view/KeyedTableDataView.java   |   2 +-
 .../optimizing/maintainer/TestDataExpire.java      |   2 +-
 .../maintainer/TestOrphanFileCleanIceberg.java     |   2 +-
 .../optimizing/plan/MixedTablePlanTestBase.java    |   2 +-
 .../plan/TestHiveKeyedPartitionPlan.java           |   2 +-
 .../plan/TestHiveUnkeyedPartitionPlan.java         |   2 +-
 .../optimizing/plan/TestIcebergPartitionPlan.java  |   2 +-
 .../scan/TableFileScanHelperTestBase.java          |   2 +-
 .../arctic/server/table/TestDatabaseService.java   |   2 +-
 .../arctic/io/reader/AbstractKeyedDataReader.java  |   2 +-
 .../io/reader/AbstractUnkeyedDataReader.java       |   2 +-
 .../arctic/mixed/InternalMixedIcebergCatalog.java  |   2 +-
 .../formats/IcebergHadoopCatalogTestHelper.java    |   4 +-
 .../MixedIcebergHadoopCatalogTestHelper.java       |   4 +-
 .../netease/arctic/io/IcebergDataTestHelpers.java  |   2 +-
 .../io/TestIcebergCombinedReaderVariousTypes.java  |   3 +-
 .../arctic/utils/map/TestSimpleSpillableMap.java   |   4 +-
 .../map/TestStructLikeWrapperSizeEstimator.java    |   2 +-
 .../netease/arctic/flink/catalog/MixedCatalog.java |   2 +-
 .../flink/lookup/filter/RowDataPredicate.java      |   2 +-
 .../hybrid/reader/MixedIncrementalLoaderTest.java  |   2 +-
 .../netease/arctic/spark/test/SparkTestBase.java   |   2 +-
 .../test/unified/UnifiedCatalogTestSuites.java     |   2 +-
 .../arctic/spark/test/utils/RecordGenerator.java   |   2 +-
 .../arctic/spark/test/TestImpalaParquet.java       |   2 +-
 .../test/suites/sql/TestArcticSessionCatalog.java  |   2 +-
 .../arctic/spark/test/TestImpalaParquet.java       |   2 +-
 .../test/suites/sql/TestArcticSessionCatalog.java  |   2 +-
 .../com/netease/arctic/trino/ArcticConnector.java  |   8 +-
 .../arctic/trino/ArcticConnectorMetadata.java      |   4 +-
 .../com/netease/arctic/trino/ArcticPlugin.java     |   2 +-
 .../arctic/trino/ArcticSessionProperties.java      |   2 +-
 .../arctic/trino/ArcticTransactionManager.java     |   4 +-
 .../arctic/trino/delete/DummyFileScanTask.java     |   2 +-
 .../arctic/trino/delete/TrinoDeleteFile.java       |   6 +-
 .../com/netease/arctic/trino/delete/TrinoRow.java  |   4 +-
 .../arctic/trino/keyed/KeyedConnectorMetadata.java |  16 +-
 .../trino/keyed/KeyedConnectorPageSource.java      |   6 +-
 .../arctic/trino/keyed/KeyedDeleteFilter.java      |   2 +-
 .../trino/keyed/KeyedPageSourceProvider.java       |   2 +-
 .../trino/unkeyed/AdaptHiveIcebergTableHandle.java |   6 +-
 .../arctic/trino/unkeyed/ArcticTrinoCatalog.java   |   2 +-
 .../arctic/trino/unkeyed/IcebergMetadata.java      |  32 +--
 .../arctic/trino/unkeyed/IcebergPageSource.java    |   4 +-
 .../trino/unkeyed/IcebergPageSourceProvider.java   |  18 +-
 .../netease/arctic/trino/unkeyed/IcebergSplit.java |   6 +-
 .../arctic/trino/unkeyed/IcebergSplitManager.java  |   2 +-
 .../arctic/trino/unkeyed/IcebergSplitSource.java   |  24 +-
 .../arctic/trino/unkeyed/TrinoDeleteFilter.java    |   4 +-
 .../hadoop/hive/metastore/HiveMetaStoreClient.java | 185 ++++++++-------
 .../arctic/trino/arctic/ArcticQueryRunner.java     |   2 +-
 .../arctic/trino/arctic/TableTestBaseForTrino.java |   4 +-
 .../trino/arctic/TestBaseArcticPrimaryTable.java   |   2 +-
 .../netease/arctic/trino/arctic/TestHiveTable.java |   4 +-
 .../arctic/trino/iceberg/ArcticQueryRunner.java    |   9 +-
 .../trino/iceberg/ArcticQueryRunnerForClient.java  |   2 +-
 .../arctic/trino/iceberg/BaseConnectorTest.java    |  16 +-
 .../arctic/trino/iceberg/SchemaInitializer.java    |   4 +-
 .../arctic/trino/iceberg/TestArcticPlugin.java     |   2 +-
 .../trino/iceberg/TestBaseArcticConnectorTest.java |  16 +-
 tools/maven/checkstyle.xml                         |  16 +-
 tools/maven/suppressions.xml                       | 264 +++++++--------------
 99 files changed, 386 insertions(+), 460 deletions(-)

diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigHelpers.java b/ams/api/src/main/java/com/netease/arctic/api/config/ConfigHelpers.java
index c312f84a3..693c55084 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigHelpers.java
+++ b/ams/api/src/main/java/com/netease/arctic/api/config/ConfigHelpers.java
@@ -18,8 +18,8 @@
 
 package com.netease.arctic.api.config;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkNotNull;
 
 import javax.annotation.Nonnull;
 
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOption.java b/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOption.java
index 1310eedda..7e406f4b5 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOption.java
+++ b/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOption.java
@@ -18,7 +18,7 @@
 
 package com.netease.arctic.api.config;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkNotNull;
 
 /**
  * A {@code ConfigOption} describes a configuration parameter. It encapsulates the configuration
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOptions.java b/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOptions.java
index 879000e70..554ec7212 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOptions.java
+++ b/ams/api/src/main/java/com/netease/arctic/api/config/ConfigOptions.java
@@ -18,7 +18,7 @@
 
 package com.netease.arctic.api.config;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkNotNull;
 
 import java.time.Duration;
 import java.util.Arrays;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/Configurations.java b/ams/api/src/main/java/com/netease/arctic/api/config/Configurations.java
index 9f465e779..7fc3e676f 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/Configurations.java
+++ b/ams/api/src/main/java/com/netease/arctic/api/config/Configurations.java
@@ -18,7 +18,7 @@
 
 package com.netease.arctic.api.config;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkNotNull;
 
 import java.util.Arrays;
 import java.util.HashMap;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/OptimizingConfig.java b/ams/api/src/main/java/com/netease/arctic/api/config/OptimizingConfig.java
index 247992170..98fb59f94 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/OptimizingConfig.java
+++ b/ams/api/src/main/java/com/netease/arctic/api/config/OptimizingConfig.java
@@ -300,7 +300,7 @@ public class OptimizingConfig {
         && baseHashBucket == that.baseHashBucket
         && baseRefreshInterval == that.baseRefreshInterval
         && hiveRefreshInterval == that.hiveRefreshInterval
-        && com.google.common.base.Objects.equal(optimizerGroup, that.optimizerGroup);
+        && Objects.equal(optimizerGroup, that.optimizerGroup);
   }
 
   @Override
diff --git a/ams/api/src/main/java/com/netease/arctic/api/config/TagConfiguration.java b/ams/api/src/main/java/com/netease/arctic/api/config/TagConfiguration.java
index 6dca00022..acff7fd80 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/config/TagConfiguration.java
+++ b/ams/api/src/main/java/com/netease/arctic/api/config/TagConfiguration.java
@@ -212,7 +212,7 @@ public class TagConfiguration {
     return autoCreateTag == that.autoCreateTag
         && triggerOffsetMinutes == that.triggerOffsetMinutes
         && maxDelayMinutes == that.maxDelayMinutes
-        && com.google.common.base.Objects.equal(tagFormat, that.tagFormat)
+        && Objects.equal(tagFormat, that.tagFormat)
         && triggerPeriod == that.triggerPeriod
         && tagMaxAgeMs == that.tagMaxAgeMs;
   }
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricDefine.java b/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricDefine.java
index 0ee808ea3..5d5d60fde 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricDefine.java
+++ b/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricDefine.java
@@ -18,10 +18,10 @@
 
 package com.netease.arctic.api.metrics;
 
-import com.google.common.collect.Lists;
 import org.apache.iceberg.relocated.com.google.common.base.Joiner;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricKey.java b/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricKey.java
index 03aa3199c..c20bb5f22 100644
--- a/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricKey.java
+++ b/ams/api/src/main/java/com/netease/arctic/api/metrics/MetricKey.java
@@ -18,10 +18,10 @@
 
 package com.netease.arctic.api.metrics;
 
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
 import org.apache.iceberg.relocated.com.google.common.base.Joiner;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerExecutor.java b/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerExecutor.java
index 3ef90c641..850583487 100644
--- a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerExecutor.java
+++ b/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerExecutor.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.optimizer.common;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.api.OptimizerRegisterInfo;
 import com.netease.arctic.api.OptimizingTask;
 import com.netease.arctic.api.OptimizingTaskId;
@@ -29,6 +28,7 @@ import com.netease.arctic.optimizing.OptimizingExecutorFactory;
 import com.netease.arctic.optimizing.OptimizingInputProperties;
 import com.netease.arctic.optimizing.TableOptimizing;
 import com.netease.arctic.utils.SerializationUtil;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.thrift.TException;
 import org.junit.After;
 import org.junit.Assert;
diff --git a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerToucher.java b/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerToucher.java
index 36c3aea03..a20708d53 100644
--- a/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerToucher.java
+++ b/ams/optimizer/common/src/test/java/com/netease/arctic/optimizer/common/TestOptimizerToucher.java
@@ -18,10 +18,10 @@
 
 package com.netease.arctic.optimizer.common;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.api.OptimizerProperties;
 import com.netease.arctic.api.OptimizerRegisterInfo;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkOptimizerExecutor.java b/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkOptimizerExecutor.java
index 7b1559cb8..6a0745c39 100644
--- a/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkOptimizerExecutor.java
+++ b/ams/optimizer/flink-optimizer/src/main/java/com/netease/arctic/optimizer/flink/FlinkOptimizerExecutor.java
@@ -18,13 +18,13 @@
 
 package com.netease.arctic.optimizer.flink;
 
-import com.google.common.base.Strings;
 import com.netease.arctic.api.OptimizingTask;
 import com.netease.arctic.api.OptimizingTaskResult;
 import com.netease.arctic.optimizer.common.OptimizerConfig;
 import com.netease.arctic.optimizer.common.OptimizerExecutor;
 import org.apache.flink.metrics.Counter;
 import org.apache.flink.metrics.MetricGroup;
+import org.apache.iceberg.relocated.com.google.common.base.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/ArcticServiceContainer.java b/ams/server/src/main/java/com/netease/arctic/server/ArcticServiceContainer.java
index d01956d99..6fddd521a 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/ArcticServiceContainer.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/ArcticServiceContainer.java
@@ -18,8 +18,6 @@
 
 package com.netease.arctic.server;
 
-import com.google.common.collect.Maps;
-import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import com.netease.arctic.Constants;
 import com.netease.arctic.api.ArcticTableMetastore;
 import com.netease.arctic.api.OptimizerProperties;
@@ -50,6 +48,8 @@ import io.javalin.http.HttpCode;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.iceberg.SystemProperties;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
+import org.apache.iceberg.relocated.com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.core.type.TypeReference;
 import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode;
 import org.apache.thrift.TMultiplexedProcessor;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/RestCatalogService.java b/ams/server/src/main/java/com/netease/arctic/server/RestCatalogService.java
index 1dd7079a7..40192910b 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/RestCatalogService.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/RestCatalogService.java
@@ -29,8 +29,6 @@ import com.fasterxml.jackson.annotation.PropertyAccessor;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.PropertyNamingStrategy;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.events.IcebergReportEvent;
@@ -60,6 +58,8 @@ import org.apache.iceberg.exceptions.NoSuchNamespaceException;
 import org.apache.iceberg.exceptions.NoSuchTableException;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
+import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.apache.iceberg.rest.RESTResponse;
 import org.apache.iceberg.rest.RESTSerializers;
 import org.apache.iceberg.rest.requests.CreateNamespaceRequest;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/MixedAndIcebergTableDescriptor.java b/ams/server/src/main/java/com/netease/arctic/server/dashboard/MixedAndIcebergTableDescriptor.java
index 2d68f2fb5..df3ad442e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/MixedAndIcebergTableDescriptor.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/dashboard/MixedAndIcebergTableDescriptor.java
@@ -263,8 +263,7 @@ public class MixedAndIcebergTableDescriptor extends PersistentBase
                         com.netease.arctic.op.SnapshotSummary.SNAPSHOT_PRODUCER_DEFAULT));
 
                 // normalize summary
-                Map<String, String> normalizeSummary =
-                    com.google.common.collect.Maps.newHashMap(summary);
+                Map<String, String> normalizeSummary = Maps.newHashMap(summary);
                 normalizeSummary.computeIfPresent(
                     SnapshotSummary.TOTAL_FILE_SIZE_PROP,
                     (k, v) -> byteToXB(Long.parseLong(summary.get(k))));
@@ -660,7 +659,7 @@ public class MixedAndIcebergTableDescriptor extends PersistentBase
 
   private void fillTableProperties(
       ServerTableMeta serverTableMeta, Map<String, String> tableProperties) {
-    Map<String, String> properties = com.google.common.collect.Maps.newHashMap(tableProperties);
+    Map<String, String> properties = Maps.newHashMap(tableProperties);
     serverTableMeta.setTableWatermark(properties.remove(TableProperties.WATERMARK_TABLE));
     serverTableMeta.setBaseWatermark(properties.remove(TableProperties.WATERMARK_BASE_STORE));
     serverTableMeta.setCreateTime(
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/DDLReverser.java b/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/DDLReverser.java
index 7123354bd..51947e9da 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/DDLReverser.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/DDLReverser.java
@@ -18,9 +18,9 @@
 
 package com.netease.arctic.server.dashboard.component.reverser;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.server.dashboard.model.DDLInfo;
 import com.netease.arctic.table.TableIdentifier;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 
 import java.util.ArrayList;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/PaimonTableMetaExtract.java b/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/PaimonTableMetaExtract.java
index 59e0313fd..871058c0a 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/PaimonTableMetaExtract.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/dashboard/component/reverser/PaimonTableMetaExtract.java
@@ -18,7 +18,7 @@
 
 package com.netease.arctic.server.dashboard.component.reverser;
 
-import com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.paimon.schema.SchemaManager;
 import org.apache.paimon.schema.TableSchema;
 import org.apache.paimon.table.DataTable;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/OptimizerController.java b/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/OptimizerController.java
index aac56fa0b..675079d5e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/OptimizerController.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/OptimizerController.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server.dashboard.controller;
 
-import com.google.common.base.Preconditions;
 import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.resource.Resource;
 import com.netease.arctic.api.resource.ResourceGroup;
@@ -36,6 +35,7 @@ import com.netease.arctic.server.resource.ResourceContainers;
 import com.netease.arctic.server.table.TableRuntime;
 import com.netease.arctic.server.table.TableService;
 import io.javalin.http.Context;
+import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 
 import javax.ws.rs.BadRequestException;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/PlatformFileInfoController.java b/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/PlatformFileInfoController.java
index fe70cb0a3..8db5f086d 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/PlatformFileInfoController.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/dashboard/controller/PlatformFileInfoController.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server.dashboard.controller;
 
-import com.google.common.base.Preconditions;
 import com.netease.arctic.server.dashboard.PlatformFileManager;
 import com.netease.arctic.server.dashboard.response.ErrorResponse;
 import com.netease.arctic.server.dashboard.response.OkResponse;
@@ -26,6 +25,7 @@ import io.javalin.http.Context;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AmoroSnapshotsOfTable.java b/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AmoroSnapshotsOfTable.java
index 289ecc796..a91ebd24b 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AmoroSnapshotsOfTable.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/dashboard/model/AmoroSnapshotsOfTable.java
@@ -18,8 +18,8 @@
 
 package com.netease.arctic.server.dashboard.model;
 
-import com.google.common.base.Objects;
 import com.netease.arctic.server.dashboard.utils.AmsUtil;
+import org.apache.iceberg.relocated.com.google.common.base.Objects;
 
 import java.util.Map;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/metrics/MetricRegistry.java b/ams/server/src/main/java/com/netease/arctic/server/metrics/MetricRegistry.java
index 81c5eccd6..c380db88f 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/metrics/MetricRegistry.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/metrics/MetricRegistry.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server.metrics;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.api.metrics.Metric;
 import com.netease.arctic.api.metrics.MetricDefine;
 import com.netease.arctic.api.metrics.MetricKey;
@@ -27,6 +26,7 @@ import com.netease.arctic.api.metrics.MetricSet;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/SchedulingPolicy.java b/ams/server/src/main/java/com/netease/arctic/server/optimizing/SchedulingPolicy.java
index 96efdf954..1cd7f6110 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/SchedulingPolicy.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/optimizing/SchedulingPolicy.java
@@ -18,12 +18,12 @@
 
 package com.netease.arctic.server.optimizing;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.api.BlockableOperation;
 import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.resource.ResourceGroup;
 import com.netease.arctic.server.table.TableRuntime;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
 import java.util.Comparator;
 import java.util.HashMap;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/TaskRuntime.java b/ams/server/src/main/java/com/netease/arctic/server/optimizing/TaskRuntime.java
index 0034aa7ba..0a4b124a8 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/TaskRuntime.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/optimizing/TaskRuntime.java
@@ -18,8 +18,6 @@
 
 package com.netease.arctic.server.optimizing;
 
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
 import com.netease.arctic.api.OptimizingTask;
 import com.netease.arctic.api.OptimizingTaskId;
 import com.netease.arctic.api.OptimizingTaskResult;
@@ -38,6 +36,8 @@ import com.netease.arctic.server.persistence.mapper.OptimizingMapper;
 import com.netease.arctic.server.resource.OptimizerThread;
 import com.netease.arctic.utils.SerializationUtil;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet;
 
 import java.util.Map;
 import java.util.Set;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/MixedTableMaintainer.java b/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/MixedTableMaintainer.java
index 27158ea9f..98f52482e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/MixedTableMaintainer.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/optimizing/maintainer/MixedTableMaintainer.java
@@ -50,6 +50,7 @@ import org.apache.iceberg.expressions.Expression;
 import org.apache.iceberg.expressions.Literal;
 import org.apache.iceberg.io.CloseableIterable;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
+import org.apache.iceberg.relocated.com.google.common.collect.Iterables;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.apache.iceberg.types.Types;
@@ -231,8 +232,7 @@ public class MixedTableMaintainer implements TableMaintainer {
     IcebergTableMaintainer.ExpireFiles baseExpiredFiles = new IcebergTableMaintainer.ExpireFiles();
 
     try (CloseableIterable<MixedFileEntry> entries =
-        CloseableIterable.withNoopClose(
-            com.google.common.collect.Iterables.concat(changeEntries, baseEntries))) {
+        CloseableIterable.withNoopClose(Iterables.concat(changeEntries, baseEntries))) {
       Queue<MixedFileEntry> fileEntries = new LinkedTransferQueue<>();
       entries.forEach(
           e -> {
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/NestedSqlSession.java b/ams/server/src/main/java/com/netease/arctic/server/persistence/NestedSqlSession.java
index 6a5b49769..3663c455e 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/NestedSqlSession.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/persistence/NestedSqlSession.java
@@ -18,8 +18,8 @@
 
 package com.netease.arctic.server.persistence;
 
-import com.google.common.annotations.VisibleForTesting;
 import org.apache.ibatis.session.SqlSession;
+import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 
 import java.io.Closeable;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/persistence/PersistentBase.java b/ams/server/src/main/java/com/netease/arctic/server/persistence/PersistentBase.java
index d2ec10e8b..73ba81293 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/persistence/PersistentBase.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/persistence/PersistentBase.java
@@ -18,10 +18,10 @@
 
 package com.netease.arctic.server.persistence;
 
-import com.google.common.annotations.VisibleForTesting;
 import com.netease.arctic.server.exception.ArcticRuntimeException;
 import com.netease.arctic.server.exception.PersistenceException;
 import org.apache.ibatis.session.TransactionIsolationLevel;
+import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 
 import java.util.Arrays;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/resource/ContainerMetadata.java b/ams/server/src/main/java/com/netease/arctic/server/resource/ContainerMetadata.java
index 4ff68d32d..e2e609a3c 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/resource/ContainerMetadata.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/resource/ContainerMetadata.java
@@ -18,8 +18,8 @@
 
 package com.netease.arctic.server.resource;
 
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Maps;
+import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
 import java.util.Map;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/resource/ResourceContainers.java b/ams/server/src/main/java/com/netease/arctic/server/resource/ResourceContainers.java
index 5c3d27946..32633b827 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/resource/ResourceContainers.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/resource/ResourceContainers.java
@@ -18,9 +18,9 @@
 
 package com.netease.arctic.server.resource;
 
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Maps;
 import com.netease.arctic.api.resource.ResourceContainer;
+import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
 import java.util.List;
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/DefaultTableService.java b/ams/server/src/main/java/com/netease/arctic/server/table/DefaultTableService.java
index 39fd030bb..0bffc2c1c 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/DefaultTableService.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/table/DefaultTableService.java
@@ -18,11 +18,6 @@
 
 package com.netease.arctic.server.table;
 
-import com.google.common.base.Objects;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.NoSuchTableException;
 import com.netease.arctic.TableFormat;
@@ -52,6 +47,11 @@ import com.netease.arctic.utils.TablePropertyUtil;
 import org.apache.commons.lang.StringUtils;
 import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
+import org.apache.iceberg.relocated.com.google.common.base.Objects;
+import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Sets;
+import org.apache.iceberg.relocated.com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/TableMetadata.java b/ams/server/src/main/java/com/netease/arctic/server/table/TableMetadata.java
index 908110d89..62ddcd87f 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/TableMetadata.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/table/TableMetadata.java
@@ -20,7 +20,6 @@ package com.netease.arctic.server.table;
 
 import static com.netease.arctic.table.PrimaryKeySpec.PRIMARY_KEY_COLUMN_JOIN_DELIMITER;
 
-import com.google.common.annotations.VisibleForTesting;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
 import com.netease.arctic.api.ServerTableIdentifier;
@@ -32,6 +31,7 @@ import com.netease.arctic.table.PrimaryKeySpec;
 import com.netease.arctic.table.TableMetaStore;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
+import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
diff --git a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalMixedIcebergCreator.java b/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalMixedIcebergCreator.java
index b6af7ac3f..044e7e6a2 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalMixedIcebergCreator.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/table/internal/InternalMixedIcebergCreator.java
@@ -24,7 +24,6 @@ import static com.netease.arctic.server.table.internal.InternalTableConstants.MI
 import static com.netease.arctic.server.table.internal.InternalTableConstants.PROPERTIES_METADATA_LOCATION;
 import static com.netease.arctic.server.utils.InternalTableUtil.genNewMetadataFileLocation;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
 import com.netease.arctic.server.table.TableMetadata;
@@ -35,6 +34,7 @@ import org.apache.iceberg.TableMetadataParser;
 import org.apache.iceberg.catalog.TableIdentifier;
 import org.apache.iceberg.io.OutputFile;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.rest.requests.CreateTableRequest;
 
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/ExecutionResult.java b/ams/server/src/main/java/com/netease/arctic/server/terminal/ExecutionResult.java
index 40546dc26..66e5894af 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/ExecutionResult.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/terminal/ExecutionResult.java
@@ -18,7 +18,7 @@
 
 package com.netease.arctic.server.terminal;
 
-import com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 
 import java.text.SimpleDateFormat;
 import java.util.Collection;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionFactory.java b/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionFactory.java
index 102ae7ded..b8be598d0 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionFactory.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/terminal/TerminalSessionFactory.java
@@ -18,11 +18,11 @@
 
 package com.netease.arctic.server.terminal;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.api.config.ConfigOption;
 import com.netease.arctic.api.config.ConfigOptions;
 import com.netease.arctic.api.config.Configurations;
 import com.netease.arctic.table.TableMetaStore;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 
 import java.util.List;
 import java.util.Map;
diff --git a/ams/server/src/main/java/com/netease/arctic/server/utils/StructuredOptionsSplitter.java b/ams/server/src/main/java/com/netease/arctic/server/utils/StructuredOptionsSplitter.java
index bf76a99a8..95465a5f9 100644
--- a/ams/server/src/main/java/com/netease/arctic/server/utils/StructuredOptionsSplitter.java
+++ b/ams/server/src/main/java/com/netease/arctic/server/utils/StructuredOptionsSplitter.java
@@ -18,7 +18,7 @@
 
 package com.netease.arctic.server.utils;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkNotNull;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/TestDefaultOptimizingService.java b/ams/server/src/test/java/com/netease/arctic/server/TestDefaultOptimizingService.java
index 9a6d880aa..ad69080eb 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/TestDefaultOptimizingService.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/TestDefaultOptimizingService.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
@@ -48,6 +47,7 @@ import org.apache.iceberg.AppendFiles;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestIcebergHadoopOptimizing.java b/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestIcebergHadoopOptimizing.java
index 60e421dac..57e951e52 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestIcebergHadoopOptimizing.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestIcebergHadoopOptimizing.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server.optimizing;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.properties.CatalogMetaProperties;
 import com.netease.arctic.server.AmsEnvironment;
 import com.netease.arctic.server.RestCatalogService;
@@ -40,6 +39,7 @@ import org.apache.iceberg.data.InternalRecordWrapper;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.hadoop.HadoopCatalog;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.apache.iceberg.rest.RESTCatalog;
 import org.apache.iceberg.types.Types;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestOptimizingQueue.java b/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestOptimizingQueue.java
index 9655beca7..95080d93f 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestOptimizingQueue.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/optimizing/TestOptimizingQueue.java
@@ -28,7 +28,6 @@ import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.OPTIMIZ
 import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_PLANING_TABLES;
 import static com.netease.arctic.server.optimizing.OptimizerGroupMetrics.OPTIMIZER_GROUP_THREADS;
 
-import com.google.common.collect.ImmutableMap;
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
@@ -59,6 +58,7 @@ import com.netease.arctic.utils.SerializationUtil;
 import org.apache.iceberg.AppendFiles;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.data.Record;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/AbstractTableDataView.java b/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/AbstractTableDataView.java
index 6aafded9a..e2f7b93e3 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/AbstractTableDataView.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/AbstractTableDataView.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server.optimizing.flow.view;
 
-import com.google.common.collect.Lists;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.data.ChangeAction;
 import com.netease.arctic.io.writer.GenericBaseTaskWriter;
@@ -40,6 +39,7 @@ import org.apache.iceberg.io.FileAppenderFactory;
 import org.apache.iceberg.io.FileIO;
 import org.apache.iceberg.io.OutputFileFactory;
 import org.apache.iceberg.io.WriteResult;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.types.Types;
 import org.apache.iceberg.util.ArrayUtil;
 
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/KeyedTableDataView.java b/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/KeyedTableDataView.java
index 604465f3c..2af8c69e0 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/KeyedTableDataView.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/optimizing/flow/view/KeyedTableDataView.java
@@ -20,7 +20,6 @@ package com.netease.arctic.server.optimizing.flow.view;
 
 import static com.netease.arctic.table.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES;
 
-import com.google.common.base.Preconditions;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.data.ChangeAction;
 import com.netease.arctic.io.writer.RecordWithAction;
@@ -36,6 +35,7 @@ import org.apache.iceberg.RowDelta;
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.io.WriteResult;
+import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.types.Type;
 import org.apache.iceberg.types.Types;
 import org.apache.iceberg.util.StructLikeMap;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpire.java b/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpire.java
index 45bee2645..ca805f269 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpire.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestDataExpire.java
@@ -21,7 +21,6 @@ package com.netease.arctic.server.optimizing.maintainer;
 import static com.netease.arctic.BasicTableTestHelper.PRIMARY_KEY_SPEC;
 import static com.netease.arctic.BasicTableTestHelper.SPEC;
 
-import com.google.common.collect.Lists;
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
@@ -54,6 +53,7 @@ import org.apache.iceberg.Table;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.expressions.Expressions;
 import org.apache.iceberg.io.CloseableIterable;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.types.Type;
 import org.apache.iceberg.types.Types;
 import org.junit.Assert;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileCleanIceberg.java b/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileCleanIceberg.java
index e1684bbd5..11dd01725 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileCleanIceberg.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/optimizing/maintainer/TestOrphanFileCleanIceberg.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server.optimizing.maintainer;
 
-import com.google.common.collect.Lists;
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
@@ -40,6 +39,7 @@ import org.apache.iceberg.data.GenericRecord;
 import org.apache.iceberg.data.IcebergGenerics;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.io.CloseableIterable;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/MixedTablePlanTestBase.java b/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/MixedTablePlanTestBase.java
index 95a98dc3e..6e5226a0a 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/MixedTablePlanTestBase.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/MixedTablePlanTestBase.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server.optimizing.plan;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.TableTestHelper;
 import com.netease.arctic.api.ServerTableIdentifier;
 import com.netease.arctic.api.config.OptimizingConfig;
@@ -47,6 +46,7 @@ import org.apache.iceberg.Transaction;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.io.CloseableIterable;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.types.Types;
 import org.apache.iceberg.util.Pair;
 import org.apache.iceberg.util.PropertyUtil;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveKeyedPartitionPlan.java b/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveKeyedPartitionPlan.java
index 77d98458f..ed40ba083 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveKeyedPartitionPlan.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveKeyedPartitionPlan.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server.optimizing.plan;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
@@ -34,6 +33,7 @@ import org.apache.iceberg.DataFile;
 import org.apache.iceberg.StructLike;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.Assert;
 import org.junit.ClassRule;
 import org.junit.Test;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveUnkeyedPartitionPlan.java b/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveUnkeyedPartitionPlan.java
index 9aff083d1..3380fe6e8 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveUnkeyedPartitionPlan.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestHiveUnkeyedPartitionPlan.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server.optimizing.plan;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
@@ -33,6 +32,7 @@ import org.apache.iceberg.DataFile;
 import org.apache.iceberg.StructLike;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.Assert;
 import org.junit.ClassRule;
 import org.junit.Test;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestIcebergPartitionPlan.java b/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestIcebergPartitionPlan.java
index aa7553ecc..dfdeaadbc 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestIcebergPartitionPlan.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/optimizing/plan/TestIcebergPartitionPlan.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server.optimizing.plan;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
@@ -29,6 +28,7 @@ import com.netease.arctic.optimizing.OptimizingInputProperties;
 import com.netease.arctic.server.optimizing.scan.IcebergTableFileScanHelper;
 import com.netease.arctic.server.optimizing.scan.TableFileScanHelper;
 import com.netease.arctic.server.utils.IcebergTableUtil;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/optimizing/scan/TableFileScanHelperTestBase.java b/ams/server/src/test/java/com/netease/arctic/server/optimizing/scan/TableFileScanHelperTestBase.java
index 6c9456f87..8a5b77f6b 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/optimizing/scan/TableFileScanHelperTestBase.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/optimizing/scan/TableFileScanHelperTestBase.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.server.optimizing.scan;
 
-import com.google.common.collect.Lists;
 import com.netease.arctic.TableTestHelper;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.catalog.TableTestBase;
@@ -29,6 +28,7 @@ import org.apache.iceberg.ContentFile;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.DeleteFile;
 import org.apache.iceberg.io.CloseableIterable;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.junit.Assert;
 
 import java.io.IOException;
diff --git a/ams/server/src/test/java/com/netease/arctic/server/table/TestDatabaseService.java b/ams/server/src/test/java/com/netease/arctic/server/table/TestDatabaseService.java
index 06ccf07b7..36201d928 100644
--- a/ams/server/src/test/java/com/netease/arctic/server/table/TestDatabaseService.java
+++ b/ams/server/src/test/java/com/netease/arctic/server/table/TestDatabaseService.java
@@ -21,7 +21,6 @@ package com.netease.arctic.server.table;
 import static com.netease.arctic.TableTestHelper.TEST_DB_NAME;
 import static com.netease.arctic.catalog.CatalogTestHelper.TEST_CATALOG_NAME;
 
-import com.google.common.collect.Lists;
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TableTestHelper;
@@ -30,6 +29,7 @@ import com.netease.arctic.catalog.CatalogTestHelper;
 import com.netease.arctic.server.exception.AlreadyExistsException;
 import com.netease.arctic.server.exception.IllegalMetadataException;
 import com.netease.arctic.server.exception.ObjectNotExistsException;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.junit.Assert;
 import org.junit.Assume;
 import org.junit.Test;
diff --git a/core/src/main/java/com/netease/arctic/io/reader/AbstractKeyedDataReader.java b/core/src/main/java/com/netease/arctic/io/reader/AbstractKeyedDataReader.java
index a2bb6d4a1..f4fa56b3b 100644
--- a/core/src/main/java/com/netease/arctic/io/reader/AbstractKeyedDataReader.java
+++ b/core/src/main/java/com/netease/arctic/io/reader/AbstractKeyedDataReader.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.io.reader;
 
-import com.google.common.collect.Sets;
 import com.netease.arctic.data.DataTreeNode;
 import com.netease.arctic.io.ArcticFileIO;
 import com.netease.arctic.scan.KeyedTableScanTask;
@@ -36,6 +35,7 @@ import org.apache.iceberg.orc.ORC;
 import org.apache.iceberg.orc.OrcRowReader;
 import org.apache.iceberg.parquet.Parquet;
 import org.apache.iceberg.parquet.ParquetValueReader;
+import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.apache.iceberg.types.Type;
 import org.apache.iceberg.types.TypeUtil;
 import org.apache.orc.TypeDescription;
diff --git a/core/src/main/java/com/netease/arctic/io/reader/AbstractUnkeyedDataReader.java b/core/src/main/java/com/netease/arctic/io/reader/AbstractUnkeyedDataReader.java
index 063f8f9d4..9303425f7 100644
--- a/core/src/main/java/com/netease/arctic/io/reader/AbstractUnkeyedDataReader.java
+++ b/core/src/main/java/com/netease/arctic/io/reader/AbstractUnkeyedDataReader.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.io.reader;
 
-import com.google.common.collect.Sets;
 import com.netease.arctic.data.DataTreeNode;
 import com.netease.arctic.io.ArcticFileIO;
 import com.netease.arctic.scan.ArcticFileScanTask;
@@ -36,6 +35,7 @@ import org.apache.iceberg.orc.ORC;
 import org.apache.iceberg.orc.OrcRowReader;
 import org.apache.iceberg.parquet.Parquet;
 import org.apache.iceberg.parquet.ParquetValueReader;
+import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.apache.iceberg.types.Type;
 import org.apache.iceberg.types.TypeUtil;
 import org.apache.iceberg.util.Filter;
diff --git a/core/src/main/java/com/netease/arctic/mixed/InternalMixedIcebergCatalog.java b/core/src/main/java/com/netease/arctic/mixed/InternalMixedIcebergCatalog.java
index 15d43a62d..85688722d 100644
--- a/core/src/main/java/com/netease/arctic/mixed/InternalMixedIcebergCatalog.java
+++ b/core/src/main/java/com/netease/arctic/mixed/InternalMixedIcebergCatalog.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.mixed;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.table.PrimaryKeySpec;
 import com.netease.arctic.table.TableMetaStore;
@@ -32,6 +31,7 @@ import org.apache.iceberg.catalog.Catalog;
 import org.apache.iceberg.catalog.Namespace;
 import org.apache.iceberg.catalog.TableIdentifier;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.rest.HTTPClient;
 import org.apache.iceberg.rest.RESTCatalog;
 
diff --git a/core/src/test/java/com/netease/arctic/formats/IcebergHadoopCatalogTestHelper.java b/core/src/test/java/com/netease/arctic/formats/IcebergHadoopCatalogTestHelper.java
index d902c77e3..370d7454a 100644
--- a/core/src/test/java/com/netease/arctic/formats/IcebergHadoopCatalogTestHelper.java
+++ b/core/src/test/java/com/netease/arctic/formats/IcebergHadoopCatalogTestHelper.java
@@ -18,8 +18,6 @@
 
 package com.netease.arctic.formats;
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
 import com.netease.arctic.AmoroCatalog;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.formats.iceberg.IcebergCatalogFactory;
@@ -32,6 +30,8 @@ import org.apache.iceberg.catalog.Catalog;
 import org.apache.iceberg.catalog.Namespace;
 import org.apache.iceberg.catalog.SupportsNamespaces;
 import org.apache.iceberg.catalog.TableIdentifier;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.apache.iceberg.types.Types;
 
 import java.util.HashMap;
diff --git a/core/src/test/java/com/netease/arctic/formats/MixedIcebergHadoopCatalogTestHelper.java b/core/src/test/java/com/netease/arctic/formats/MixedIcebergHadoopCatalogTestHelper.java
index ff3b06032..197b4a312 100644
--- a/core/src/test/java/com/netease/arctic/formats/MixedIcebergHadoopCatalogTestHelper.java
+++ b/core/src/test/java/com/netease/arctic/formats/MixedIcebergHadoopCatalogTestHelper.java
@@ -18,8 +18,6 @@
 
 package com.netease.arctic.formats;
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
 import com.netease.arctic.AmoroCatalog;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.api.CatalogMeta;
@@ -31,6 +29,8 @@ import com.netease.arctic.table.TableMetaStore;
 import com.netease.arctic.utils.ArcticCatalogUtil;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.Schema;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.apache.iceberg.types.Types;
 
 import java.util.HashMap;
diff --git a/core/src/test/java/com/netease/arctic/io/IcebergDataTestHelpers.java b/core/src/test/java/com/netease/arctic/io/IcebergDataTestHelpers.java
index 2fa7c862d..a170c5b30 100644
--- a/core/src/test/java/com/netease/arctic/io/IcebergDataTestHelpers.java
+++ b/core/src/test/java/com/netease/arctic/io/IcebergDataTestHelpers.java
@@ -21,7 +21,6 @@ package com.netease.arctic.io;
 import static com.netease.arctic.table.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES;
 import static com.netease.arctic.table.TableProperties.WRITE_TARGET_FILE_SIZE_BYTES_DEFAULT;
 
-import com.google.common.collect.Lists;
 import com.netease.arctic.data.ChangeAction;
 import com.netease.arctic.io.writer.GenericIcebergPartitionedFanoutWriter;
 import com.netease.arctic.io.writer.RecordWithAction;
@@ -42,6 +41,7 @@ import org.apache.iceberg.io.OutputFileFactory;
 import org.apache.iceberg.io.TaskWriter;
 import org.apache.iceberg.io.UnpartitionedWriter;
 import org.apache.iceberg.io.WriteResult;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.types.Types;
 import org.apache.iceberg.util.ArrayUtil;
 import org.apache.iceberg.util.PropertyUtil;
diff --git a/core/src/test/java/com/netease/arctic/io/TestIcebergCombinedReaderVariousTypes.java b/core/src/test/java/com/netease/arctic/io/TestIcebergCombinedReaderVariousTypes.java
index 9080c5866..2f444496e 100644
--- a/core/src/test/java/com/netease/arctic/io/TestIcebergCombinedReaderVariousTypes.java
+++ b/core/src/test/java/com/netease/arctic/io/TestIcebergCombinedReaderVariousTypes.java
@@ -43,6 +43,7 @@ import org.apache.iceberg.data.Record;
 import org.apache.iceberg.io.CloseableIterable;
 import org.apache.iceberg.io.WriteResult;
 import org.apache.iceberg.relocated.com.google.common.collect.Iterables;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.apache.iceberg.types.Type;
@@ -92,7 +93,7 @@ public class TestIcebergCombinedReaderVariousTypes extends TableTestBase {
   @NotNull
   private static Schema getSchema(Type type) {
     return new Schema(
-        com.google.common.collect.Lists.newArrayList(
+        Lists.newArrayList(
             Types.NestedField.of(1, false, "pk1", type),
             Types.NestedField.of(2, false, "pk2", Types.StringType.get()),
             Types.NestedField.of(3, true, "v1", Types.StringType.get())),
diff --git a/core/src/test/java/com/netease/arctic/utils/map/TestSimpleSpillableMap.java b/core/src/test/java/com/netease/arctic/utils/map/TestSimpleSpillableMap.java
index 15fad63d4..f2da5f461 100644
--- a/core/src/test/java/com/netease/arctic/utils/map/TestSimpleSpillableMap.java
+++ b/core/src/test/java/com/netease/arctic/utils/map/TestSimpleSpillableMap.java
@@ -18,8 +18,8 @@
 
 package com.netease.arctic.utils.map;
 
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
+import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.apache.lucene.util.RamUsageEstimator;
 import org.junit.Assert;
 import org.junit.Before;
diff --git a/core/src/test/java/com/netease/arctic/utils/map/TestStructLikeWrapperSizeEstimator.java b/core/src/test/java/com/netease/arctic/utils/map/TestStructLikeWrapperSizeEstimator.java
index 7b338f1ed..2dfc77531 100644
--- a/core/src/test/java/com/netease/arctic/utils/map/TestStructLikeWrapperSizeEstimator.java
+++ b/core/src/test/java/com/netease/arctic/utils/map/TestStructLikeWrapperSizeEstimator.java
@@ -18,12 +18,12 @@
 
 package com.netease.arctic.utils.map;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.data.ChangedLsn;
 import com.netease.arctic.io.MixedDataTestHelpers;
 import org.apache.iceberg.StructLike;
 import org.apache.iceberg.data.Record;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.util.StructLikeWrapper;
 import org.apache.lucene.util.RamUsageEstimator;
 import org.junit.Assert;
diff --git a/mixed-format/flink/flink-common/src/main/java/com/netease/arctic/flink/catalog/MixedCatalog.java b/mixed-format/flink/flink-common/src/main/java/com/netease/arctic/flink/catalog/MixedCatalog.java
index 3366aa9bb..47f05557b 100644
--- a/mixed-format/flink/flink-common/src/main/java/com/netease/arctic/flink/catalog/MixedCatalog.java
+++ b/mixed-format/flink/flink-common/src/main/java/com/netease/arctic/flink/catalog/MixedCatalog.java
@@ -24,7 +24,6 @@ import static com.netease.arctic.flink.FlinkSchemaUtil.toSchema;
 import static org.apache.flink.table.factories.FactoryUtil.CONNECTOR;
 import static org.apache.flink.util.Preconditions.checkNotNull;
 
-import com.google.common.base.Objects;
 import com.netease.arctic.NoSuchDatabaseException;
 import com.netease.arctic.flink.InternalCatalogBuilder;
 import com.netease.arctic.flink.catalog.factories.CatalogFactoryOptions;
@@ -81,6 +80,7 @@ import org.apache.iceberg.flink.FlinkFilters;
 import org.apache.iceberg.flink.FlinkSchemaUtil;
 import org.apache.iceberg.flink.util.FlinkAlterTableUtil;
 import org.apache.iceberg.io.CloseableIterable;
+import org.apache.iceberg.relocated.com.google.common.base.Objects;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.relocated.com.google.common.collect.Maps;
diff --git a/mixed-format/flink/flink-common/src/main/java/com/netease/arctic/flink/lookup/filter/RowDataPredicate.java b/mixed-format/flink/flink-common/src/main/java/com/netease/arctic/flink/lookup/filter/RowDataPredicate.java
index fe6a9cb5d..acca6118b 100644
--- a/mixed-format/flink/flink-common/src/main/java/com/netease/arctic/flink/lookup/filter/RowDataPredicate.java
+++ b/mixed-format/flink/flink-common/src/main/java/com/netease/arctic/flink/lookup/filter/RowDataPredicate.java
@@ -20,13 +20,13 @@ package com.netease.arctic.flink.lookup.filter;
 
 import static org.apache.flink.table.types.logical.utils.LogicalTypeChecks.getPrecision;
 
-import com.google.common.collect.Iterables;
 import org.apache.flink.table.data.RowData;
 import org.apache.flink.table.types.DataType;
 import org.apache.flink.table.types.logical.DecimalType;
 import org.apache.flink.table.types.logical.LogicalType;
 import org.apache.flink.util.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.base.MoreObjects;
+import org.apache.iceberg.relocated.com.google.common.collect.Iterables;
 
 import java.io.Serializable;
 import java.util.Arrays;
diff --git a/mixed-format/flink/flink-common/src/test/java/com/netease/arctic/flink/read/hybrid/reader/MixedIncrementalLoaderTest.java b/mixed-format/flink/flink-common/src/test/java/com/netease/arctic/flink/read/hybrid/reader/MixedIncrementalLoaderTest.java
index a6fef7ebf..5287e2e6b 100644
--- a/mixed-format/flink/flink-common/src/test/java/com/netease/arctic/flink/read/hybrid/reader/MixedIncrementalLoaderTest.java
+++ b/mixed-format/flink/flink-common/src/test/java/com/netease/arctic/flink/read/hybrid/reader/MixedIncrementalLoaderTest.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.flink.read.hybrid.reader;
 
-import com.google.common.collect.Lists;
 import com.netease.arctic.BasicTableTestHelper;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.catalog.BasicCatalogTestHelper;
@@ -42,6 +41,7 @@ import org.apache.iceberg.expressions.Expressions;
 import org.apache.iceberg.flink.data.RowDataUtil;
 import org.apache.iceberg.io.CloseableIterator;
 import org.apache.iceberg.io.TaskWriter;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/SparkTestBase.java b/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/SparkTestBase.java
index 32d1d47c4..8876fa3d6 100644
--- a/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/SparkTestBase.java
+++ b/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/SparkTestBase.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.spark.test;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.AlreadyExistsException;
 import com.netease.arctic.Constants;
 import com.netease.arctic.TableFormat;
@@ -36,6 +35,7 @@ import org.apache.iceberg.Schema;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.spark.SparkSchemaUtil;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
diff --git a/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/unified/UnifiedCatalogTestSuites.java b/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/unified/UnifiedCatalogTestSuites.java
index 099bb9472..2a6e9498e 100644
--- a/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/unified/UnifiedCatalogTestSuites.java
+++ b/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/unified/UnifiedCatalogTestSuites.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.spark.test.unified;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.AmoroTable;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.UnifiedCatalog;
@@ -27,6 +26,7 @@ import com.netease.arctic.spark.SparkUnifiedSessionCatalog;
 import com.netease.arctic.spark.test.SparkTestBase;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
 import org.junit.jupiter.api.Assertions;
diff --git a/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/utils/RecordGenerator.java b/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/utils/RecordGenerator.java
index e4248dd60..003d0f6de 100644
--- a/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/utils/RecordGenerator.java
+++ b/mixed-format/spark/common/src/test/java/com/netease/arctic/spark/test/utils/RecordGenerator.java
@@ -18,12 +18,12 @@
 
 package com.netease.arctic.spark.test.utils;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.table.PrimaryKeySpec;
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.data.GenericRecord;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.types.Type;
 import org.apache.iceberg.types.Types;
 import org.apache.iceberg.util.RandomUtil;
diff --git a/mixed-format/spark/v3.2/spark/src/test/java/com/netease/arctic/spark/test/TestImpalaParquet.java b/mixed-format/spark/v3.2/spark/src/test/java/com/netease/arctic/spark/test/TestImpalaParquet.java
index 87809c44c..cf90d36bb 100644
--- a/mixed-format/spark/v3.2/spark/src/test/java/com/netease/arctic/spark/test/TestImpalaParquet.java
+++ b/mixed-format/spark/v3.2/spark/src/test/java/com/netease/arctic/spark/test/TestImpalaParquet.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.spark.test;
 
-import com.google.common.collect.Iterators;
 import com.netease.arctic.hive.HMSMockServer;
 import com.netease.arctic.spark.reader.SparkParquetReaders;
 import com.netease.arctic.spark.test.utils.ResourceInputFile;
@@ -29,6 +28,7 @@ import org.apache.iceberg.io.InputFile;
 import org.apache.iceberg.mapping.MappedField;
 import org.apache.iceberg.mapping.NameMapping;
 import org.apache.iceberg.parquet.AdaptHiveParquet;
+import org.apache.iceberg.relocated.com.google.common.collect.Iterators;
 import org.apache.iceberg.types.Types;
 import org.apache.spark.sql.catalyst.InternalRow;
 import org.junit.jupiter.api.Assertions;
diff --git a/mixed-format/spark/v3.2/spark/src/test/java/com/netease/arctic/spark/test/suites/sql/TestArcticSessionCatalog.java b/mixed-format/spark/v3.2/spark/src/test/java/com/netease/arctic/spark/test/suites/sql/TestArcticSessionCatalog.java
index 62624130a..533f16b34 100644
--- a/mixed-format/spark/v3.2/spark/src/test/java/com/netease/arctic/spark/test/suites/sql/TestArcticSessionCatalog.java
+++ b/mixed-format/spark/v3.2/spark/src/test/java/com/netease/arctic/spark/test/suites/sql/TestArcticSessionCatalog.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.spark.test.suites.sql;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.properties.HiveTableProperties;
 import com.netease.arctic.spark.mixed.SparkSQLProperties;
 import com.netease.arctic.spark.test.MixedTableTestBase;
@@ -30,6 +29,7 @@ import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.types.Types;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
diff --git a/mixed-format/spark/v3.3/spark/src/test/java/com/netease/arctic/spark/test/TestImpalaParquet.java b/mixed-format/spark/v3.3/spark/src/test/java/com/netease/arctic/spark/test/TestImpalaParquet.java
index 6c822c466..976008df5 100644
--- a/mixed-format/spark/v3.3/spark/src/test/java/com/netease/arctic/spark/test/TestImpalaParquet.java
+++ b/mixed-format/spark/v3.3/spark/src/test/java/com/netease/arctic/spark/test/TestImpalaParquet.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.spark.test;
 
-import com.google.common.collect.Iterators;
 import com.netease.arctic.hive.HMSMockServer;
 import com.netease.arctic.spark.reader.SparkParquetReaders;
 import com.netease.arctic.spark.test.utils.ResourceInputFile;
@@ -29,6 +28,7 @@ import org.apache.iceberg.io.InputFile;
 import org.apache.iceberg.mapping.MappedField;
 import org.apache.iceberg.mapping.NameMapping;
 import org.apache.iceberg.parquet.AdaptHiveParquet;
+import org.apache.iceberg.relocated.com.google.common.collect.Iterators;
 import org.apache.iceberg.types.Types;
 import org.apache.spark.sql.catalyst.InternalRow;
 import org.junit.jupiter.api.Assertions;
diff --git a/mixed-format/spark/v3.3/spark/src/test/java/com/netease/arctic/spark/test/suites/sql/TestArcticSessionCatalog.java b/mixed-format/spark/v3.3/spark/src/test/java/com/netease/arctic/spark/test/suites/sql/TestArcticSessionCatalog.java
index 0f94ae4ab..e73b92985 100644
--- a/mixed-format/spark/v3.3/spark/src/test/java/com/netease/arctic/spark/test/suites/sql/TestArcticSessionCatalog.java
+++ b/mixed-format/spark/v3.3/spark/src/test/java/com/netease/arctic/spark/test/suites/sql/TestArcticSessionCatalog.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.spark.test.suites.sql;
 
-import com.google.common.collect.Maps;
 import com.netease.arctic.properties.HiveTableProperties;
 import com.netease.arctic.spark.mixed.SparkSQLProperties;
 import com.netease.arctic.spark.test.MixedTableTestBase;
@@ -30,6 +29,7 @@ import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Maps;
 import org.apache.iceberg.types.Types;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticConnector.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticConnector.java
index e7faac2db..0287adf80 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticConnector.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticConnector.java
@@ -18,15 +18,13 @@
 
 package com.netease.arctic.trino;
 
-import static com.google.common.collect.ImmutableList.toImmutableList;
-import static com.google.common.collect.Sets.immutableEnumSet;
 import static io.trino.spi.connector.ConnectorCapabilities.NOT_NULL_COLUMN_CONSTRAINT;
 import static io.trino.spi.transaction.IsolationLevel.SERIALIZABLE;
 import static io.trino.spi.transaction.IsolationLevel.checkConnectorSupports;
 import static java.util.Objects.requireNonNull;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableList.toImmutableList;
+import static org.apache.iceberg.relocated.com.google.common.collect.Sets.immutableEnumSet;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
 import io.airlift.bootstrap.LifeCycleManager;
 import io.trino.plugin.base.classloader.ClassLoaderSafeConnectorMetadata;
 import io.trino.plugin.base.session.SessionPropertiesProvider;
@@ -45,6 +43,8 @@ import io.trino.spi.connector.TableProcedureMetadata;
 import io.trino.spi.procedure.Procedure;
 import io.trino.spi.session.PropertyMetadata;
 import io.trino.spi.transaction.IsolationLevel;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticConnectorMetadata.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticConnectorMetadata.java
index eb8ab5dc2..ea3f55e3c 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticConnectorMetadata.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticConnectorMetadata.java
@@ -21,8 +21,6 @@ package com.netease.arctic.trino;
 import static io.trino.plugin.hive.util.HiveUtil.isHiveSystemSchema;
 import static io.trino.spi.StandardErrorCode.NOT_SUPPORTED;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterators;
 import com.netease.arctic.catalog.ArcticCatalog;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.TableIdentifier;
@@ -58,6 +56,8 @@ import io.trino.spi.expression.ConnectorExpression;
 import io.trino.spi.statistics.ComputedStatistics;
 import io.trino.spi.statistics.TableStatistics;
 import org.apache.iceberg.exceptions.NoSuchTableException;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.Iterators;
 
 import java.util.Collection;
 import java.util.Iterator;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticPlugin.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticPlugin.java
index 3d1aa9156..d4cfc3995 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticPlugin.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticPlugin.java
@@ -18,9 +18,9 @@
 
 package com.netease.arctic.trino;
 
-import com.google.common.collect.ImmutableList;
 import io.trino.spi.Plugin;
 import io.trino.spi.connector.ConnectorFactory;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 
 /** Arctic Plugin Impl of {@link Plugin} */
 public class ArcticPlugin implements Plugin {
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticSessionProperties.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticSessionProperties.java
index 88123554c..0346c4deb 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticSessionProperties.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticSessionProperties.java
@@ -21,11 +21,11 @@ package com.netease.arctic.trino;
 import static io.trino.spi.session.PropertyMetadata.booleanProperty;
 import static io.trino.spi.session.PropertyMetadata.doubleProperty;
 
-import com.google.common.collect.ImmutableList;
 import io.trino.plugin.base.session.SessionPropertiesProvider;
 import io.trino.plugin.iceberg.IcebergSessionProperties;
 import io.trino.spi.connector.ConnectorSession;
 import io.trino.spi.session.PropertyMetadata;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 
 import javax.inject.Inject;
 
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticTransactionManager.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticTransactionManager.java
index 6062ba9ad..f96683032 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticTransactionManager.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/ArcticTransactionManager.java
@@ -18,9 +18,9 @@
 
 package com.netease.arctic.trino;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkState;
 import static java.util.Objects.requireNonNull;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkState;
 
 import io.trino.spi.classloader.ThreadContextClassLoader;
 import io.trino.spi.connector.ConnectorTransactionHandle;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/DummyFileScanTask.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/DummyFileScanTask.java
index 2abc77674..a70e401ab 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/DummyFileScanTask.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/DummyFileScanTask.java
@@ -20,7 +20,6 @@ package com.netease.arctic.trino.delete;
 
 import static java.util.Objects.requireNonNull;
 
-import com.google.common.collect.ImmutableList;
 import org.apache.iceberg.CombinedScanTask;
 import org.apache.iceberg.DataFile;
 import org.apache.iceberg.DataTask;
@@ -30,6 +29,7 @@ import org.apache.iceberg.FileScanTask;
 import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.StructLike;
 import org.apache.iceberg.expressions.Expression;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 
 import java.nio.ByteBuffer;
 import java.util.List;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/TrinoDeleteFile.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/TrinoDeleteFile.java
index 317e61761..a12889c73 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/TrinoDeleteFile.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/TrinoDeleteFile.java
@@ -18,21 +18,21 @@
 
 package com.netease.arctic.trino.delete;
 
-import static com.google.common.collect.ImmutableMap.toImmutableMap;
 import static io.airlift.slice.SizeOf.SIZE_OF_INT;
 import static io.airlift.slice.SizeOf.SIZE_OF_LONG;
 import static io.airlift.slice.SizeOf.estimatedSizeOf;
 import static java.util.Objects.requireNonNull;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap.toImmutableMap;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
 import org.apache.iceberg.DeleteFile;
 import org.apache.iceberg.FileContent;
 import org.apache.iceberg.FileFormat;
 import org.apache.iceberg.StructLike;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.openjdk.jol.info.ClassLayout;
 
 import javax.annotation.Nullable;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/TrinoRow.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/TrinoRow.java
index 0c54f811a..c3eb27fc1 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/TrinoRow.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/delete/TrinoRow.java
@@ -18,14 +18,14 @@
 
 package com.netease.arctic.trino.delete;
 
-import static com.google.common.base.Preconditions.checkArgument;
 import static io.trino.plugin.iceberg.IcebergPageSink.getIcebergValue;
 import static java.util.Objects.requireNonNull;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument;
 
-import com.google.common.collect.AbstractIterator;
 import io.trino.spi.Page;
 import io.trino.spi.type.Type;
 import org.apache.iceberg.StructLike;
+import org.apache.iceberg.relocated.com.google.common.collect.AbstractIterator;
 
 import javax.annotation.Nullable;
 
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedConnectorMetadata.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedConnectorMetadata.java
index 8344c67de..f32fc6ff5 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedConnectorMetadata.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedConnectorMetadata.java
@@ -18,10 +18,6 @@
 
 package com.netease.arctic.trino.keyed;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.collect.ImmutableList.toImmutableList;
-import static com.google.common.collect.ImmutableMap.toImmutableMap;
-import static com.google.common.collect.ImmutableSet.toImmutableSet;
 import static com.netease.arctic.trino.ArcticSessionProperties.isArcticStatisticsEnabled;
 import static io.trino.plugin.hive.HiveApplyProjectionUtil.extractSupportedProjectedColumns;
 import static io.trino.plugin.hive.HiveApplyProjectionUtil.replaceWithNewVariables;
@@ -30,11 +26,11 @@ import static io.trino.plugin.hive.util.HiveUtil.isStructuralType;
 import static io.trino.plugin.iceberg.IcebergUtil.getColumns;
 import static io.trino.plugin.iceberg.TypeConverter.toTrinoType;
 import static io.trino.spi.connector.RetryMode.NO_RETRIES;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableList.toImmutableList;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap.toImmutableMap;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet.toImmutableSet;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
 import com.netease.arctic.catalog.ArcticCatalog;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.KeyedTable;
@@ -70,6 +66,10 @@ import org.apache.iceberg.Schema;
 import org.apache.iceberg.SchemaParser;
 import org.apache.iceberg.TableProperties;
 import org.apache.iceberg.exceptions.NotFoundException;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.apache.iceberg.types.Types;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedConnectorPageSource.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedConnectorPageSource.java
index 781c964d5..85ddfb702 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedConnectorPageSource.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedConnectorPageSource.java
@@ -18,13 +18,12 @@
 
 package com.netease.arctic.trino.keyed;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Throwables.throwIfInstanceOf;
 import static com.netease.arctic.ArcticErrorCode.ARCTIC_BAD_DATA;
 import static io.trino.plugin.iceberg.IcebergErrorCode.ICEBERG_BAD_DATA;
 import static java.util.Objects.requireNonNull;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument;
+import static org.apache.iceberg.relocated.com.google.common.base.Throwables.throwIfInstanceOf;
 
-import com.google.common.collect.ImmutableList;
 import com.netease.arctic.data.DataFileType;
 import com.netease.arctic.data.PrimaryKeyedFile;
 import com.netease.arctic.hive.io.reader.AdaptHiveArcticDeleteFilter;
@@ -46,6 +45,7 @@ import io.trino.spi.connector.DynamicFilter;
 import io.trino.spi.type.Type;
 import io.trino.spi.type.TypeManager;
 import org.apache.iceberg.io.CloseableIterable;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 import org.joda.time.DateTimeZone;
 
 import java.io.IOException;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedDeleteFilter.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedDeleteFilter.java
index 241d075c6..32b0d584d 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedDeleteFilter.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedDeleteFilter.java
@@ -18,8 +18,8 @@
 
 package com.netease.arctic.trino.keyed;
 
-import static com.google.common.collect.ImmutableList.toImmutableList;
 import static io.trino.plugin.iceberg.TypeConverter.toIcebergType;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableList.toImmutableList;
 
 import com.netease.arctic.hive.io.reader.AdaptHiveArcticDeleteFilter;
 import com.netease.arctic.scan.KeyedTableScanTask;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedPageSourceProvider.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedPageSourceProvider.java
index bb1b5789b..de32bf98b 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedPageSourceProvider.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/keyed/KeyedPageSourceProvider.java
@@ -18,7 +18,6 @@
 
 package com.netease.arctic.trino.keyed;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.Inject;
 import com.netease.arctic.data.PrimaryKeyedFile;
 import com.netease.arctic.hive.io.reader.AdaptHiveArcticDeleteFilter;
@@ -40,6 +39,7 @@ import io.trino.spi.connector.DynamicFilter;
 import io.trino.spi.type.TypeManager;
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.SchemaParser;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 
 import java.util.List;
 import java.util.stream.Collectors;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/AdaptHiveIcebergTableHandle.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/AdaptHiveIcebergTableHandle.java
index ad02fac93..937106c19 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/AdaptHiveIcebergTableHandle.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/AdaptHiveIcebergTableHandle.java
@@ -22,15 +22,15 @@ import static java.util.Objects.requireNonNull;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
 import io.airlift.units.DataSize;
 import io.trino.plugin.iceberg.IcebergColumnHandle;
 import io.trino.plugin.iceberg.IcebergTableHandle;
 import io.trino.plugin.iceberg.TableType;
 import io.trino.spi.connector.RetryMode;
 import io.trino.spi.predicate.TupleDomain;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet;
 
 import java.util.List;
 import java.util.Map;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/ArcticTrinoCatalog.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/ArcticTrinoCatalog.java
index ac3206e39..1c249e9bf 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/ArcticTrinoCatalog.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/ArcticTrinoCatalog.java
@@ -22,7 +22,6 @@ import static io.trino.plugin.hive.util.HiveUtil.isHiveSystemSchema;
 import static io.trino.spi.StandardErrorCode.NOT_SUPPORTED;
 import static java.util.Locale.ENGLISH;
 
-import com.google.common.collect.ImmutableList;
 import com.netease.arctic.catalog.ArcticCatalog;
 import com.netease.arctic.table.ArcticTable;
 import com.netease.arctic.table.TableIdentifier;
@@ -40,6 +39,7 @@ import org.apache.iceberg.PartitionSpec;
 import org.apache.iceberg.Schema;
 import org.apache.iceberg.Table;
 import org.apache.iceberg.Transaction;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergMetadata.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergMetadata.java
index 532968010..0bdc5d4ab 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergMetadata.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergMetadata.java
@@ -18,14 +18,6 @@
 
 package com.netease.arctic.trino.unkeyed;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkState;
-import static com.google.common.base.Verify.verify;
-import static com.google.common.base.Verify.verifyNotNull;
-import static com.google.common.collect.ImmutableList.toImmutableList;
-import static com.google.common.collect.ImmutableMap.toImmutableMap;
-import static com.google.common.collect.ImmutableSet.toImmutableSet;
-import static com.google.common.collect.Maps.transformValues;
 import static io.trino.plugin.base.util.Procedures.checkProcedureArgument;
 import static io.trino.plugin.hive.HiveApplyProjectionUtil.extractSupportedProjectedColumns;
 import static io.trino.plugin.hive.HiveApplyProjectionUtil.replaceWithNewVariables;
@@ -100,16 +92,16 @@ import static org.apache.iceberg.TableProperties.DELETE_ISOLATION_LEVEL;
 import static org.apache.iceberg.TableProperties.DELETE_ISOLATION_LEVEL_DEFAULT;
 import static org.apache.iceberg.TableProperties.FORMAT_VERSION;
 import static org.apache.iceberg.TableProperties.WRITE_LOCATION_PROVIDER_IMPL;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkState;
+import static org.apache.iceberg.relocated.com.google.common.base.Verify.verify;
+import static org.apache.iceberg.relocated.com.google.common.base.Verify.verifyNotNull;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableList.toImmutableList;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap.toImmutableMap;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet.toImmutableSet;
+import static org.apache.iceberg.relocated.com.google.common.collect.Maps.transformValues;
 import static org.apache.iceberg.types.TypeUtil.indexParents;
 
-import com.google.common.base.Splitter;
-import com.google.common.base.Suppliers;
-import com.google.common.base.VerifyException;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Sets;
 import com.netease.arctic.hive.utils.TableTypeUtil;
 import com.netease.arctic.table.ArcticTable;
 import io.airlift.json.JsonCodec;
@@ -241,6 +233,14 @@ import org.apache.iceberg.UpdateStatistics;
 import org.apache.iceberg.exceptions.ValidationException;
 import org.apache.iceberg.expressions.Expressions;
 import org.apache.iceberg.io.CloseableIterable;
+import org.apache.iceberg.relocated.com.google.common.base.Splitter;
+import org.apache.iceberg.relocated.com.google.common.base.Suppliers;
+import org.apache.iceberg.relocated.com.google.common.base.VerifyException;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet;
+import org.apache.iceberg.relocated.com.google.common.collect.Iterables;
+import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.apache.iceberg.types.Type;
 import org.apache.iceberg.types.Types;
 import org.apache.iceberg.types.Types.IntegerType;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergPageSource.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergPageSource.java
index dab120b40..fd6f7c305 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergPageSource.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergPageSource.java
@@ -18,11 +18,11 @@
 
 package com.netease.arctic.trino.unkeyed;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Throwables.throwIfInstanceOf;
 import static io.trino.plugin.base.util.Closables.closeAllSuppress;
 import static io.trino.plugin.iceberg.IcebergErrorCode.ICEBERG_BAD_DATA;
 import static java.util.Objects.requireNonNull;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument;
+import static org.apache.iceberg.relocated.com.google.common.base.Throwables.throwIfInstanceOf;
 
 import com.netease.arctic.io.reader.DeleteFilter;
 import com.netease.arctic.trino.delete.TrinoRow;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergPageSourceProvider.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergPageSourceProvider.java
index 67147d02a..8b67038e4 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergPageSourceProvider.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergPageSourceProvider.java
@@ -18,12 +18,6 @@
 
 package com.netease.arctic.trino.unkeyed;
 
-import static com.google.common.base.Preconditions.checkState;
-import static com.google.common.base.Verify.verify;
-import static com.google.common.collect.ImmutableList.toImmutableList;
-import static com.google.common.collect.ImmutableMap.toImmutableMap;
-import static com.google.common.collect.ImmutableSet.toImmutableSet;
-import static com.google.common.collect.Maps.uniqueIndex;
 import static io.airlift.slice.Slices.utf8Slice;
 import static io.trino.memory.context.AggregatedMemoryContext.newSimpleAggregatedMemoryContext;
 import static io.trino.orc.OrcReader.INITIAL_BATCH_SIZE;
@@ -77,11 +71,14 @@ import static java.util.stream.Collectors.mapping;
 import static java.util.stream.Collectors.toList;
 import static java.util.stream.Collectors.toUnmodifiableList;
 import static org.apache.iceberg.MetadataColumns.ROW_POSITION;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkState;
+import static org.apache.iceberg.relocated.com.google.common.base.Verify.verify;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableList.toImmutableList;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap.toImmutableMap;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet.toImmutableSet;
+import static org.apache.iceberg.relocated.com.google.common.collect.Maps.uniqueIndex;
 import static org.joda.time.DateTimeZone.UTC;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.graph.Traverser;
 import com.netease.arctic.data.ChangeAction;
 import com.netease.arctic.data.DataFileType;
 import com.netease.arctic.io.reader.DeleteFilter;
@@ -169,6 +166,9 @@ import org.apache.iceberg.mapping.MappedFields;
 import org.apache.iceberg.mapping.NameMapping;
 import org.apache.iceberg.mapping.NameMappingParser;
 import org.apache.iceberg.parquet.ParquetSchemaUtil;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
+import org.apache.iceberg.relocated.com.google.common.graph.Traverser;
 import org.apache.parquet.column.ColumnDescriptor;
 import org.apache.parquet.hadoop.metadata.BlockMetaData;
 import org.apache.parquet.hadoop.metadata.FileMetaData;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplit.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplit.java
index 3921a48df..1ce549776 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplit.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplit.java
@@ -18,20 +18,20 @@
 
 package com.netease.arctic.trino.unkeyed;
 
-import static com.google.common.base.MoreObjects.toStringHelper;
 import static io.airlift.slice.SizeOf.estimatedSizeOf;
 import static java.lang.Math.toIntExact;
 import static java.util.Objects.requireNonNull;
+import static org.apache.iceberg.relocated.com.google.common.base.MoreObjects.toStringHelper;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
 import com.netease.arctic.data.DataFileType;
 import com.netease.arctic.trino.delete.TrinoDeleteFile;
 import io.trino.plugin.iceberg.IcebergFileFormat;
 import io.trino.spi.HostAddress;
 import io.trino.spi.connector.ConnectorSplit;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.openjdk.jol.info.ClassLayout;
 
 import java.util.List;
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplitManager.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplitManager.java
index cf9b82ab2..36994eabb 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplitManager.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplitManager.java
@@ -22,7 +22,6 @@ import static io.trino.plugin.iceberg.IcebergSessionProperties.getDynamicFilteri
 import static io.trino.plugin.iceberg.IcebergSessionProperties.getMinimumAssignedSplitWeight;
 import static java.util.Objects.requireNonNull;
 
-import com.google.common.collect.ImmutableList;
 import com.netease.arctic.trino.ArcticTransactionManager;
 import com.netease.arctic.trino.TableNameResolve;
 import io.airlift.units.Duration;
@@ -40,6 +39,7 @@ import io.trino.spi.connector.FixedSplitSource;
 import io.trino.spi.type.TypeManager;
 import org.apache.iceberg.Table;
 import org.apache.iceberg.TableScan;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 
 import javax.inject.Inject;
 
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplitSource.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplitSource.java
index 16be22c62..a466f1ebb 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplitSource.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/IcebergSplitSource.java
@@ -18,12 +18,6 @@
 
 package com.netease.arctic.trino.unkeyed;
 
-import static com.google.common.base.Preconditions.checkState;
-import static com.google.common.base.Suppliers.memoize;
-import static com.google.common.base.Verify.verify;
-import static com.google.common.collect.ImmutableList.toImmutableList;
-import static com.google.common.collect.ImmutableSet.toImmutableSet;
-import static com.google.common.collect.Sets.intersection;
 import static io.airlift.slice.Slices.utf8Slice;
 import static io.trino.plugin.iceberg.ExpressionConverter.toIcebergExpression;
 import static io.trino.plugin.iceberg.IcebergColumnHandle.fileModifiedTimeColumnHandle;
@@ -42,14 +36,14 @@ import static io.trino.spi.type.TimeZoneKey.UTC_KEY;
 import static java.util.Objects.requireNonNull;
 import static java.util.concurrent.CompletableFuture.completedFuture;
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkState;
+import static org.apache.iceberg.relocated.com.google.common.base.Suppliers.memoize;
+import static org.apache.iceberg.relocated.com.google.common.base.Verify.verify;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableList.toImmutableList;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet.toImmutableSet;
+import static org.apache.iceberg.relocated.com.google.common.collect.Sets.intersection;
 import static org.apache.iceberg.types.Conversions.fromByteBuffer;
 
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Stopwatch;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterators;
-import com.google.common.io.Closer;
 import com.netease.arctic.data.DataFileType;
 import com.netease.arctic.data.PrimaryKeyedFile;
 import com.netease.arctic.scan.ArcticFileScanTask;
@@ -84,6 +78,12 @@ import org.apache.iceberg.TableScan;
 import org.apache.iceberg.expressions.Expression;
 import org.apache.iceberg.io.CloseableIterable;
 import org.apache.iceberg.io.CloseableIterator;
+import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
+import org.apache.iceberg.relocated.com.google.common.base.Stopwatch;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet;
+import org.apache.iceberg.relocated.com.google.common.collect.Iterators;
+import org.apache.iceberg.relocated.com.google.common.io.Closer;
 import org.apache.iceberg.types.Type;
 import org.apache.iceberg.util.TableScanUtil;
 
diff --git a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/TrinoDeleteFilter.java b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/TrinoDeleteFilter.java
index 65a01f0d4..c5360c60f 100644
--- a/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/TrinoDeleteFilter.java
+++ b/mixed-format/trino/src/main/java/com/netease/arctic/trino/unkeyed/TrinoDeleteFilter.java
@@ -18,9 +18,9 @@
 
 package com.netease.arctic.trino.unkeyed;
 
-import static com.google.common.collect.ImmutableList.toImmutableList;
-import static com.google.common.collect.ImmutableSet.toImmutableSet;
 import static java.util.Objects.requireNonNull;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableList.toImmutableList;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet.toImmutableSet;
 
 import com.netease.arctic.io.reader.DeleteFilter;
 import com.netease.arctic.trino.delete.TrinoRow;
diff --git a/mixed-format/trino/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java b/mixed-format/trino/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
index 644c5742a..dc3725fde 100644
--- a/mixed-format/trino/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
+++ b/mixed-format/trino/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
@@ -18,10 +18,6 @@
 
 package org.apache.hadoop.hive.metastore;
 
-import static org.apache.hadoop.hive.metastore.MetaStoreUtils.DEFAULT_DATABASE_NAME;
-import static org.apache.hadoop.hive.metastore.MetaStoreUtils.isIndexTable;
-
-import com.google.common.annotations.VisibleForTesting;
 import org.apache.hadoop.hive.common.ObjectPair;
 import org.apache.hadoop.hive.common.ValidTxnList;
 import org.apache.hadoop.hive.common.classification.InterfaceAudience;
@@ -127,6 +123,7 @@ import org.apache.hadoop.hive.shims.Utils;
 import org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.util.StringUtils;
+import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
 import org.apache.thrift.TApplicationException;
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
@@ -140,7 +137,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import javax.security.auth.login.LoginException;
-
 import java.io.IOException;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationHandler;
@@ -166,7 +162,12 @@ import java.util.Random;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
-/** Copy form hive 2.1.1 to change some code to adapt jdk 11. */
+import static org.apache.hadoop.hive.metastore.MetaStoreUtils.DEFAULT_DATABASE_NAME;
+import static org.apache.hadoop.hive.metastore.MetaStoreUtils.isIndexTable;
+
+/**
+ * Copy form hive 2.1.1 to change some code to adapt jdk 11.
+ */
 @Public
 @Unstable
 public class HiveMetaStoreClient implements IMetaStoreClient {
@@ -339,8 +340,8 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
       String newVar = conf.get(oneVar.varname, "");
       if (oldVar == null
           || (oneVar.isCaseSensitive()
-              ? !oldVar.equals(newVar)
-              : !oldVar.equalsIgnoreCase(newVar))) {
+          ? !oldVar.equals(newVar)
+          : !oldVar.equalsIgnoreCase(newVar))) {
         LOG.info(
             "Mestastore configuration "
                 + oneVar.varname
@@ -384,7 +385,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws MetaException
    * @throws TException
    * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#alter_table(
-   *     java.lang.String, java.lang.String, org.apache.hadoop.hive.metastore.api.Table)
+   *java.lang.String, java.lang.String, org.apache.hadoop.hive.metastore.api.Table)
    */
   @Override
   public void alter_table(String dbname, String tblName, Table newTbl)
@@ -407,8 +408,8 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws MetaException
    * @throws TException
    * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#rename_partition(
-   *     java.lang.String, java.lang.String, java.util.List,
-   *     org.apache.hadoop.hive.metastore.api.Partition)
+   *java.lang.String, java.lang.String, java.util.List,
+   * org.apache.hadoop.hive.metastore.api.Partition)
    */
   @Override
   public void renamePartition(
@@ -598,7 +599,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws MetaException
    * @throws TException
    * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#add_partition(
-   *     org.apache.hadoop.hive.metastore.api.Partition)
+   *org.apache.hadoop.hive.metastore.api.Partition)
    */
   @Override
   public Partition add_partition(Partition newPart)
@@ -654,9 +655,8 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws AlreadyExistsException
    * @throws MetaException
    * @throws TException
-   * @see
-   *     org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#append_partition(java.lang.String,
-   *     java.lang.String, java.util.List)
+   * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#append_partition(java.lang.String,
+   * java.lang.String, java.util.List)
    */
   @Override
   public Partition appendPartition(String dbName, String tableName, List<String> partVals)
@@ -690,8 +690,8 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
   /**
    * Exchange the partition between two tables
    *
-   * @param partitionSpecs partitions specs of the parent partition to be exchanged
-   * @param destDb the db of the destination table
+   * @param partitionSpecs       partitions specs of the parent partition to be exchanged
+   * @param destDb               the db of the destination table
    * @param destinationTableName the destination table name @ @return new partition after exchanging
    */
   @Override
@@ -709,10 +709,10 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
   /**
    * Exchange the partitions between two tables
    *
-   * @param partitionSpecs partitions specs of the parent partition to be exchanged
-   * @param destDb the db of the destination table
+   * @param partitionSpecs       partitions specs of the parent partition to be exchanged
+   * @param destDb               the db of the destination table
    * @param destinationTableName the destination table name @ @return new partitions after
-   *     exchanging
+   *                             exchanging
    */
   @Override
   public List<Partition> exchange_partitions(
@@ -753,7 +753,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws NoSuchObjectException
    * @throws TException
    * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#create_table(
-   *     org.apache.hadoop.hive.metastore.api.Table)
+   *org.apache.hadoop.hive.metastore.api.Table)
    */
   @Override
   public void createTable(Table tbl) throws MetaException, NoSuchObjectException, TException {
@@ -827,7 +827,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws MetaException
    * @throws TException
    * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#create_type(
-   *     org.apache.hadoop.hive.metastore.api.Type)
+   *org.apache.hadoop.hive.metastore.api.Type)
    */
   public boolean createType(Type type)
       throws AlreadyExistsException, InvalidObjectException, MetaException, TException {
@@ -841,7 +841,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws MetaException
    * @throws TException
    * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#drop_database(
-   *     java.lang.String, boolean, boolean)
+   *java.lang.String, boolean, boolean)
    */
   @Override
   public void dropDatabase(String name)
@@ -905,9 +905,8 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws NoSuchObjectException
    * @throws MetaException
    * @throws TException
-   * @see
-   *     org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#drop_partition(java.lang.String,
-   *     java.lang.String, java.util.List, boolean)
+   * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#drop_partition(java.lang.String,
+   * java.lang.String, java.util.List, boolean)
    */
   @Override
   public boolean dropPartition(
@@ -947,9 +946,8 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws NoSuchObjectException
    * @throws MetaException
    * @throws TException
-   * @see
-   *     org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#drop_partition(java.lang.String,
-   *     java.lang.String, java.util.List, boolean)
+   * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#drop_partition(java.lang.String,
+   * java.lang.String, java.util.List, boolean)
    */
   public boolean dropPartition(String dbName, String tblName, List<String> partVals)
       throws NoSuchObjectException, MetaException, TException {
@@ -1074,7 +1072,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     dropTable(dbname, name, deleteData, ignoreUnknownTab, envContext);
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   @Deprecated
   public void dropTable(String tableName, boolean deleteData) throws TException {
@@ -1095,16 +1095,15 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    *
    * @param dbname
    * @param name
-   * @param deleteData delete the underlying data or just delete the table in metadata
+   * @param deleteData       delete the underlying data or just delete the table in metadata
    * @param ignoreUnknownTab don't throw if the requested table doesn't exist
-   * @param envContext for communicating with thrift
-   * @throws MetaException could not drop table properly
-   * @throws NoSuchObjectException the table wasn't found
-   * @throws TException a thrift communication error occurred
+   * @param envContext       for communicating with thrift
+   * @throws MetaException                 could not drop table properly
+   * @throws NoSuchObjectException         the table wasn't found
+   * @throws TException                    a thrift communication error occurred
    * @throws UnsupportedOperationException dropping an index table is not allowed
-   * @see
-   *     org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#drop_table(java.lang.String,
-   *     java.lang.String, boolean)
+   * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#drop_table(java.lang.String,
+   * java.lang.String, boolean)
    */
   public void dropTable(
       String dbname,
@@ -1163,8 +1162,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @return map of types
    * @throws MetaException
    * @throws TException
-   * @see
-   *     org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#get_type_all(java.lang.String)
+   * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#get_type_all(java.lang.String)
    */
   public Map<String, Type> getTypeAll(String name) throws MetaException, TException {
     Map<String, Type> result = null;
@@ -1178,7 +1176,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     return result;
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public List<String> getDatabases(String databasePattern) throws MetaException {
     try {
@@ -1189,7 +1189,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     return null;
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public List<String> getAllDatabases() throws MetaException {
     try {
@@ -1257,12 +1259,12 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
   /**
    * Get list of partitions matching specified filter
    *
-   * @param dbName the database name
-   * @param tblName the table name
-   * @param filter the filter string, for example "part1 = \"p1_abc\" and part2 <= "\p2_test\"".
-   *     Filtering can be done only on string partition keys.
+   * @param dbName   the database name
+   * @param tblName  the table name
+   * @param filter   the filter string, for example "part1 = \"p1_abc\" and part2 <= "\p2_test\"".
+   *                 Filtering can be done only on string partition keys.
    * @param maxParts the maximum number of partitions to return, all partitions are returned if -1
-   *     is passed
+   *                 is passed
    * @return list of partitions
    * @throws MetaException
    * @throws NoSuchObjectException
@@ -1330,8 +1332,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws NoSuchObjectException
    * @throws MetaException
    * @throws TException
-   * @see
-   *     org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#get_database(java.lang.String)
+   * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#get_database(java.lang.String)
    */
   @Override
   public Database getDatabase(String name) throws NoSuchObjectException, MetaException, TException {
@@ -1346,9 +1347,8 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @return the partition
    * @throws MetaException
    * @throws TException
-   * @see
-   *     org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#get_partition(java.lang.String,
-   *     java.lang.String, java.util.List)
+   * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#get_partition(java.lang.String,
+   * java.lang.String, java.util.List)
    */
   @Override
   public Partition getPartition(String dbName, String tblName, List<String> partVals)
@@ -1391,7 +1391,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws TException
    * @throws NoSuchObjectException
    * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#get_table(java.lang.String,
-   *     java.lang.String)
+   * java.lang.String)
    */
   @Override
   public Table getTable(String dbname, String name)
@@ -1400,7 +1400,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     return fastpath ? t : deepCopy(filterHook.filterTable(t));
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   @Deprecated
   public Table getTable(String tableName) throws TException {
@@ -1408,7 +1410,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     return fastpath ? t : filterHook.filterTable(t);
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public List<Table> getTableObjectsByName(String dbName, List<String> tableNames)
       throws TException {
@@ -1416,7 +1420,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     return fastpath ? tabs : deepCopyTables(filterHook.filterTables(tabs));
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public List<String> listTableNamesByFilter(String dbName, String filter, short maxTables)
       throws TException {
@@ -1436,7 +1442,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     return deepCopy(client.get_type(name));
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public List<String> getTables(String dbname, String tablePattern) throws MetaException {
     try {
@@ -1478,7 +1486,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     return filtered;
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public List<String> getAllTables(String dbname) throws MetaException {
     try {
@@ -1498,7 +1508,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     }
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   @Deprecated
   public boolean tableExists(String tableName) throws TException {
@@ -1522,10 +1534,10 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
   /**
    * Get number of partitions matching specified filter
    *
-   * @param dbName the database name
+   * @param dbName  the database name
    * @param tblName the table name
-   * @param filter the filter string, for example "part1 = \"p1_abc\" and part2 <= "\p2_test\"".
-   *     Filtering can be done only on string partition keys.
+   * @param filter  the filter string, for example "part1 = \"p1_abc\" and part2 <= "\p2_test\"".
+   *                Filtering can be done only on string partition keys.
    * @return number of partitions
    * @throws MetaException
    * @throws NoSuchObjectException
@@ -1565,9 +1577,8 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws UnknownDBException
    * @throws MetaException
    * @throws TException
-   * @see
-   *     org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#get_fields(java.lang.String,
-   *     java.lang.String)
+   * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#get_fields(java.lang.String,
+   * java.lang.String)
    */
   @Override
   public List<FieldSchema> getFields(String db, String tableName)
@@ -1579,7 +1590,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
   /**
    * create an index
    *
-   * @param index the index object
+   * @param index      the index object
    * @param indexTable which stores the index data
    * @throws InvalidObjectException
    * @throws MetaException
@@ -1590,7 +1601,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
   @Override
   public void createIndex(Index index, Table indexTable)
       throws AlreadyExistsException, InvalidObjectException, MetaException, NoSuchObjectException,
-          TException {
+      TException {
     client.add_index(index, indexTable);
   }
 
@@ -1602,9 +1613,8 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws InvalidOperationException
    * @throws MetaException
    * @throws TException
-   * @see
-   *     org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#alter_index(java.lang.String,
-   *     java.lang.String, java.lang.String, org.apache.hadoop.hive.metastore.api.Index)
+   * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#alter_index(java.lang.String,
+   * java.lang.String, java.lang.String, org.apache.hadoop.hive.metastore.api.Index)
    */
   @Override
   public void alter_index(String dbname, String baseTblName, String idxName, Index newIdx)
@@ -1672,7 +1682,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     return client.get_foreign_keys(req).getForeignKeys();
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   @Deprecated
   // use setPartitionColumnStatistics instead
@@ -1680,7 +1692,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     return client.update_table_column_statistics(statsObj);
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   @Deprecated
   // use setPartitionColumnStatistics instead
@@ -1688,7 +1702,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     return client.update_partition_column_statistics(statsObj);
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public boolean setPartitionColumnStatistics(SetPartitionsStatsRequest request) throws TException {
     return client.set_aggr_stats_for(request);
@@ -1704,7 +1720,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     }
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public List<ColumnStatisticsObj> getTableColumnStatistics(
       String dbName, String tableName, List<String> colNames) throws TException {
@@ -1713,7 +1731,9 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
         .getTableStats();
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public Map<String, List<ColumnStatisticsObj>> getPartitionColumnStatistics(
       String dbName, String tableName, List<String> partNames, List<String> colNames)
@@ -1724,14 +1744,18 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
         .getPartStats();
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public boolean deletePartitionColumnStatistics(
       String dbName, String tableName, String partName, String colName) throws TException {
     return client.delete_partition_column_statistics(dbName, tableName, partName, colName);
   }
 
-  /** {@inheritDoc} */
+  /**
+   * {@inheritDoc}
+   */
   @Override
   public boolean deleteTableColumnStatistics(String dbName, String tableName, String colName)
       throws TException {
@@ -1745,9 +1769,8 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
    * @throws UnknownDBException
    * @throws MetaException
    * @throws TException
-   * @see
-   *     org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#get_schema(java.lang.String,
-   *     java.lang.String)
+   * @see org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore.Iface#get_schema(java.lang.String,
+   * java.lang.String)
    */
   @Override
   public List<FieldSchema> getSchema(String db, String tableName)
@@ -2316,7 +2339,7 @@ public class HiveMetaStoreClient implements IMetaStoreClient {
     return (IMetaStoreClient)
         Proxy.newProxyInstance(
             HiveMetaStoreClient.class.getClassLoader(),
-            new Class[] {IMetaStoreClient.class},
+            new Class[]{IMetaStoreClient.class},
             new SynchronizedHandler(client));
   }
 
diff --git a/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/ArcticQueryRunner.java b/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/ArcticQueryRunner.java
index 48ab4a966..1b859e043 100644
--- a/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/ArcticQueryRunner.java
+++ b/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/ArcticQueryRunner.java
@@ -22,11 +22,11 @@ import static io.airlift.testing.Closeables.closeAllSuppress;
 import static io.trino.testing.TestingSession.testSessionBuilder;
 import static java.util.Objects.requireNonNull;
 
-import com.google.common.collect.ImmutableMap;
 import com.netease.arctic.trino.ArcticPlugin;
 import io.airlift.log.Logger;
 import io.trino.plugin.tpch.TpchPlugin;
 import io.trino.testing.DistributedQueryRunner;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 
 import java.io.File;
 import java.util.HashMap;
diff --git a/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TableTestBaseForTrino.java b/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TableTestBaseForTrino.java
index 3157fe26f..cb6cb5106 100644
--- a/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TableTestBaseForTrino.java
+++ b/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TableTestBaseForTrino.java
@@ -21,8 +21,6 @@ package com.netease.arctic.trino.arctic;
 import static com.netease.arctic.MockArcticMetastoreServer.TEST_CATALOG_NAME;
 import static com.netease.arctic.MockArcticMetastoreServer.TEST_DB_NAME;
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
 import com.netease.arctic.MockArcticMetastoreServer;
 import com.netease.arctic.api.CatalogMeta;
 import com.netease.arctic.catalog.ArcticCatalog;
@@ -56,6 +54,8 @@ import org.apache.iceberg.data.Record;
 import org.apache.iceberg.io.CloseableIterable;
 import org.apache.iceberg.io.CloseableIterator;
 import org.apache.iceberg.io.WriteResult;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
+import org.apache.iceberg.relocated.com.google.common.collect.Sets;
 import org.apache.iceberg.types.Types;
 import org.junit.rules.TemporaryFolder;
 
diff --git a/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TestBaseArcticPrimaryTable.java b/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TestBaseArcticPrimaryTable.java
index 7a942bfce..1fb3014be 100644
--- a/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TestBaseArcticPrimaryTable.java
+++ b/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TestBaseArcticPrimaryTable.java
@@ -21,11 +21,11 @@ package com.netease.arctic.trino.arctic;
 import static com.netease.arctic.MockArcticMetastoreServer.TEST_CATALOG_NAME;
 import static org.assertj.core.api.Assertions.assertThat;
 
-import com.google.common.collect.ImmutableMap;
 import com.netease.arctic.TableFormat;
 import com.netease.arctic.TestedCatalogs;
 import com.netease.arctic.catalog.CatalogTestHelper;
 import io.trino.testing.QueryRunner;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
diff --git a/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TestHiveTable.java b/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TestHiveTable.java
index 784c5c27e..f0c44dd9d 100644
--- a/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TestHiveTable.java
+++ b/mixed-format/trino/src/test/java/com/netease/arctic/trino/arctic/TestHiveTable.java
@@ -24,8 +24,6 @@ import static com.netease.arctic.table.TableProperties.CHANGE_FILE_FORMAT;
 import static com.netease.arctic.table.TableProperties.DEFAULT_FILE_FORMAT;
 import static org.assertj.core.api.Assertions.assertThat;
 
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
 import com.netease.arctic.MockArcticMetastoreServer;
 import com.netease.arctic.data.ChangeAction;
 import com.netease.arctic.hive.io.writer.AdaptHiveGenericTaskWriterBuilder;
@@ -52,6 +50,8 @@ import org.apache.iceberg.io.TaskWriter;
 import org.apache.iceberg.io.WriteResult;
 import org.apache.iceberg.parquet.AdaptHiveParquet;
 import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
+import org.apache.iceberg.relocated.com.google.common.collect.Lists;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
diff --git a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/ArcticQueryRunner.java b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/ArcticQueryRunner.java
index ccc8d279f..f27e88b8a 100644
--- a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/ArcticQueryRunner.java
+++ b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/ArcticQueryRunner.java
@@ -18,17 +18,17 @@
 
 package com.netease.arctic.trino.iceberg;
 
-import static com.google.common.base.Preconditions.checkState;
 import static io.airlift.testing.Closeables.closeAllSuppress;
 import static io.trino.testing.TestingSession.testSessionBuilder;
 import static java.util.Objects.requireNonNull;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
 import io.airlift.log.Logger;
 import io.trino.plugin.tpch.TpchPlugin;
 import io.trino.testing.DistributedQueryRunner;
 import io.trino.tpch.TpchTable;
+import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 
 import java.io.File;
 import java.util.HashMap;
@@ -87,7 +87,8 @@ public final class ArcticQueryRunner {
     }
 
     public Builder setSchemaInitializer(SchemaInitializer schemaInitializer) {
-      checkState(this.schemaInitializer.isEmpty(), "schemaInitializer is already set");
+      Preconditions.checkState(
+          this.schemaInitializer.isEmpty(), "schemaInitializer is already set");
       this.schemaInitializer =
           Optional.of(requireNonNull(schemaInitializer, "schemaInitializer is null"));
       amendSession(sessionBuilder -> sessionBuilder.setSchema(schemaInitializer.getSchemaName()));
diff --git a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/ArcticQueryRunnerForClient.java b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/ArcticQueryRunnerForClient.java
index 624a03133..1c15eb073 100644
--- a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/ArcticQueryRunnerForClient.java
+++ b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/ArcticQueryRunnerForClient.java
@@ -20,12 +20,12 @@ package com.netease.arctic.trino.iceberg;
 
 import static io.trino.testing.TestingSession.testSessionBuilder;
 
-import com.google.common.collect.ImmutableMap;
 import com.netease.arctic.trino.ArcticPlugin;
 import io.airlift.log.Logger;
 import io.airlift.log.Logging;
 import io.trino.Session;
 import io.trino.testing.DistributedQueryRunner;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 
 import java.nio.file.Path;
 import java.util.Map;
diff --git a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/BaseConnectorTest.java b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/BaseConnectorTest.java
index d3fa81126..02903cba1 100644
--- a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/BaseConnectorTest.java
+++ b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/BaseConnectorTest.java
@@ -18,10 +18,6 @@
 
 package com.netease.arctic.trino.iceberg;
 
-import static com.google.common.base.Preconditions.checkState;
-import static com.google.common.base.Verify.verifyNotNull;
-import static com.google.common.collect.Iterables.getOnlyElement;
-import static com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
 import static io.airlift.units.Duration.nanosSince;
 import static io.trino.SystemSessionProperties.IGNORE_STATS_CALCULATOR_FAILURES;
 import static io.trino.connector.informationschema.InformationSchemaTable.INFORMATION_SCHEMA;
@@ -73,6 +69,10 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
 import static java.util.concurrent.TimeUnit.MINUTES;
 import static java.util.concurrent.TimeUnit.SECONDS;
 import static java.util.stream.Collectors.toList;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkState;
+import static org.apache.iceberg.relocated.com.google.common.base.Verify.verifyNotNull;
+import static org.apache.iceberg.relocated.com.google.common.collect.Iterables.getOnlyElement;
+import static org.apache.iceberg.relocated.com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.testng.Assert.assertFalse;
@@ -80,10 +80,6 @@ import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertTrue;
 import static org.testng.Assert.fail;
 
-import com.google.common.base.Stopwatch;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
 import com.google.common.util.concurrent.UncheckedTimeoutException;
 import io.airlift.units.Duration;
 import io.trino.Session;
@@ -107,6 +103,10 @@ import io.trino.testing.MaterializedResultWithQueryId;
 import io.trino.testing.MaterializedRow;
 import io.trino.testing.TestingConnectorBehavior;
 import io.trino.testing.sql.TestTable;
+import org.apache.iceberg.relocated.com.google.common.base.Stopwatch;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet;
 import org.intellij.lang.annotations.Language;
 import org.testng.Assert;
 import org.testng.SkipException;
diff --git a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/SchemaInitializer.java b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/SchemaInitializer.java
index 7bc1a747b..7f004c2c2 100644
--- a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/SchemaInitializer.java
+++ b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/SchemaInitializer.java
@@ -22,10 +22,10 @@ import static io.trino.plugin.tpch.TpchMetadata.TINY_SCHEMA_NAME;
 import static io.trino.testing.QueryAssertions.copyTpchTables;
 import static java.util.Objects.requireNonNull;
 
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
 import io.trino.testing.QueryRunner;
 import io.trino.tpch.TpchTable;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet;
 
 import java.util.Map;
 import java.util.function.Consumer;
diff --git a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/TestArcticPlugin.java b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/TestArcticPlugin.java
index 5aa2b7d89..1a86cf495 100644
--- a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/TestArcticPlugin.java
+++ b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/TestArcticPlugin.java
@@ -18,9 +18,9 @@
 
 package com.netease.arctic.trino.iceberg;
 
-import com.google.common.collect.ImmutableList;
 import io.trino.spi.Plugin;
 import io.trino.spi.connector.ConnectorFactory;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
 
 public class TestArcticPlugin implements Plugin {
 
diff --git a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/TestBaseArcticConnectorTest.java b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/TestBaseArcticConnectorTest.java
index 497d84101..1df7b3d5f 100644
--- a/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/TestBaseArcticConnectorTest.java
+++ b/mixed-format/trino/src/test/java/com/netease/arctic/trino/iceberg/TestBaseArcticConnectorTest.java
@@ -18,12 +18,6 @@
 
 package com.netease.arctic.trino.iceberg;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Verify.verify;
-import static com.google.common.collect.ImmutableList.toImmutableList;
-import static com.google.common.collect.ImmutableMap.toImmutableMap;
-import static com.google.common.collect.Iterables.concat;
-import static com.google.common.collect.Iterables.getOnlyElement;
 import static com.google.common.collect.MoreCollectors.onlyElement;
 import static io.trino.SystemSessionProperties.PREFERRED_WRITE_PARTITIONING_MIN_NUMBER_OF_PARTITIONS;
 import static io.trino.SystemSessionProperties.SCALE_WRITERS;
@@ -50,12 +44,16 @@ import static java.util.Collections.nCopies;
 import static java.util.stream.Collectors.joining;
 import static java.util.stream.Collectors.toUnmodifiableList;
 import static java.util.stream.IntStream.range;
+import static org.apache.iceberg.relocated.com.google.common.base.Preconditions.checkArgument;
+import static org.apache.iceberg.relocated.com.google.common.base.Verify.verify;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableList.toImmutableList;
+import static org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap.toImmutableMap;
+import static org.apache.iceberg.relocated.com.google.common.collect.Iterables.concat;
+import static org.apache.iceberg.relocated.com.google.common.collect.Iterables.getOnlyElement;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.testng.Assert.assertFalse;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
 import io.airlift.units.DataSize;
 import io.trino.Session;
 import io.trino.metadata.Metadata;
@@ -82,6 +80,8 @@ import io.trino.testing.TestingConnectorBehavior;
 import io.trino.testing.assertions.Assert;
 import io.trino.testing.sql.TestTable;
 import io.trino.tpch.TpchTable;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
+import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
 import org.intellij.lang.annotations.Language;
 import org.testng.SkipException;
 import org.testng.annotations.DataProvider;
diff --git a/tools/maven/checkstyle.xml b/tools/maven/checkstyle.xml
index fdd6b418d..bf0cf2066 100644
--- a/tools/maven/checkstyle.xml
+++ b/tools/maven/checkstyle.xml
@@ -105,19 +105,9 @@ This file is based on the checkstyle file of Apache Beam.
 
         -->
 
-        <!-- forbid the use of google.common.base.Preconditions -->
-        <module name="Regexp">
-            <property name="format" value="import com\.google\.common\.base\.Preconditions"/>
-            <property name="illegalPattern" value="true"/>
-            <property name="message"
-                      value="Don't use Guava's Preconditions directly, Please use the shaded guava instead."/>
-        </module>
-
-        <module name="Regexp">
-            <property name="format" value="import static com\.google\.common\.base\.Preconditions"/>
-            <property name="illegalPattern" value="true"/>
-            <property name="message"
-                      value="Don't use Guava's Preconditions directly, please use the shaded guave instead."/>
+        <module name="IllegalImport">
+            <property name="illegalPkgs" value="com.google.common"/>
+            <message key="import.illegal" value="{0}; Use iceberg-shaded-guava instead."/>
         </module>
 
         <module name="Regexp">
diff --git a/tools/maven/suppressions.xml b/tools/maven/suppressions.xml
index 1335511f6..e2722bca2 100644
--- a/tools/maven/suppressions.xml
+++ b/tools/maven/suppressions.xml
@@ -19,183 +19,95 @@ under the License.
 -->
 
 <!DOCTYPE suppressions PUBLIC
-		"-//Puppy Crawl//DTD Suppressions 1.1//EN"
-		"http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
+        "-//Puppy Crawl//DTD Suppressions 1.1//EN"
+        "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
 
 <suppressions>
-		<suppress
-			files="com/netease/arctic/api/config/ConfigOptions\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/api/config/ConfigOption\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/utils/StatisticsFileUtil\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/log/LogDataJsonSerialization\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/log/LogDataToJsonConverters\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/log/LogDataJsonDeserialization\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/log/JsonToLogDataConverters\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/utils/TablePropertyUtil\.java"
-			checks="Regexp"/>
-	    <suppress
-			files="com/netease/arctic/api/config/OptimizingConfig\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/api/config/DataExpirationConfig\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/api/config/TagConfiguration\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/api/config/TableConfiguration\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/utils/Configurations\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/utils/StructuredOptionsSplitter\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/utils/ConfigOption\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/utils/ConfigurationUtil\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/RestCatalogService\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/dashboard/controller/OptimizerController\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/dashboard/controller/PlatformFileInfoController\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/table/DefaultTableService\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/table/DataExpirationConfig\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/table/TableMetadata\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/persistence/NestedSqlSession\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/persistence/converter/JsonObjectConverter\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/persistence/PersistentBase\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/optimizing/OptimizingConfig\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/optimizing/plan/OptimizingEvaluator\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/optimizing/MetricsSummary\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/resource/ContainerMetadata\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/resource/ResourceContainers\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/resource/ResourceContainers\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/optimizing/flow/view/KeyedTableDataView\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/utils/ConfigOptions\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/table/TagConfiguration\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/server/table/TableConfiguration\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/flink/interceptor/ProxyFactory\.java"
-			checks="TodoComment"/>
-		<suppress
-			files="org/apache/hadoop/util/VersionInfo\.java"
-			checks="MethodName"/>
-		<suppress
-			files="org/apache/hadoop/hive/metastore/HiveMetaStoreClient\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/iceberg/BaseConnectorTest\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/iceberg/ArcticQueryRunner\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/iceberg/TestBaseArcticConnectorTest\.java"
-			checks="FileLength"/>
-		<suppress
-			files="com/netease/arctic/trino/ArcticTransactionManager\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/keyed/KeyedConnectorSplit\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/keyed/KeyedConnectorPageSource\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/keyed/KeyedTableHandle\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/keyed/KeyedConnectorMetadata\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/delete/TrinoRow\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/delete/TrinoDeleteFile\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/unkeyed/IcebergPageSource\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/unkeyed/IcebergSplit\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/unkeyed/IcebergPageSourceProvider\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/unkeyed/IcebergMetadata\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/unkeyed/IcebergSplitSource\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/unkeyed/AdaptHiveIcebergTableHandle\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/iceberg/TestBaseArcticConnectorTest\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/api/config/Configurations\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/api/config/ConfigHelpers\.java"
-			checks="Regexp"/>
-		<suppress
-			files="com/netease/arctic/trino/iceberg/BaseConnectorTest.java"
-			checks="FileLength"/>
+    <suppress
+            files="com/netease/arctic/utils/StatisticsFileUtil\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/log/LogDataJsonSerialization\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/log/LogDataToJsonConverters\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/log/LogDataJsonDeserialization\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/log/JsonToLogDataConverters\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/utils/TablePropertyUtil\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/api/config/OptimizingConfig\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/api/config/DataExpirationConfig\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/api/config/TagConfiguration\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/api/config/TableConfiguration\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/server/RestCatalogService\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/server/persistence/converter/JsonObjectConverter\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/server/optimizing/OptimizingConfig\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/server/optimizing/plan/OptimizingEvaluator\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/server/optimizing/MetricsSummary\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/server/table/TagConfiguration\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/server/table/TableConfiguration\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/flink/interceptor/ProxyFactory\.java"
+            checks="TodoComment"/>
+    <suppress
+            files="org/apache/hadoop/util/VersionInfo\.java"
+            checks="MethodName"/>
+    <suppress
+            files="com/netease/arctic/trino/iceberg/TestBaseArcticConnectorTest\.java"
+            checks="FileLength"/>
+    <suppress
+            files="com/netease/arctic/trino/iceberg/BaseConnectorTest\.java"
+            checks="FileLength"/>
+    <suppress
+            files="com/netease/arctic/trino/keyed/KeyedConnectorSplit\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/trino/keyed/KeyedTableHandle\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/trino/delete/TrinoDeleteFile\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/trino/unkeyed/IcebergSplit\.java"
+            checks="Regexp"/>
+    <suppress
+            files="com/netease/arctic/trino/unkeyed/AdaptHiveIcebergTableHandle\.java"
+            checks="Regexp"/>
+    <!-- BaseConnectorTest and TestBaseArcticConnectorTest can be replace by shaded guava
+          because the shaded guava version is too low -->
+    <suppress
+            files="com/netease/arctic/trino/iceberg/BaseConnectorTest.java"
+            checks="IllegalImport"/>
+    <suppress
+            files="com/netease/arctic/trino/iceberg/TestBaseArcticConnectorTest.java"
+            checks="IllegalImport"/>
 
 </suppressions>