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/24 07:51:05 UTC
(amoro) branch master updated: [AMORO-2776] Keeping the folder name the same with the artifactId in amoro-mixed-format module (#2777)
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/amoro.git
The following commit(s) were added to refs/heads/master by this push:
new 970127ef9 [AMORO-2776] Keeping the folder name the same with the artifactId in amoro-mixed-format module (#2777)
970127ef9 is described below
commit 970127ef9050c506b1b147347dee943622afea0c
Author: xleoken <le...@163.com>
AuthorDate: Wed Apr 24 15:51:00 2024 +0800
[AMORO-2776] Keeping the folder name the same with the artifactId in amoro-mixed-format module (#2777)
---
.../pom.xml | 0
.../org/apache/amoro/flink/shuffle/LogRecordV1.java | 0
.../org/apache/amoro/flink/shuffle/RowKindUtil.java | 0
.../pom.xml | 0
.../flink/data/AdaptHiveFlinkParquetReaders.java | 0
.../flink/data/AdaptHiveFlinkParquetWriters.java | 0
.../data/AdaptHiveParquetWithFlinkSchemaVisitor.java | 0
.../flink/source/RowDataFileScanTaskReader.java | 0
.../org/apache/iceberg/flink/source/ScanContext.java | 0
.../pom.xml | 0
.../java/org/apache/amoro/flink/FlinkSchemaUtil.java | 0
.../org/apache/amoro/flink/InternalCatalogBuilder.java | 0
.../amoro/flink/catalog/FlinkUnifiedCatalog.java | 0
.../org/apache/amoro/flink/catalog/MixedCatalog.java | 0
.../flink/catalog/factories/CatalogFactoryOptions.java | 0
.../catalog/factories/FlinkUnifiedCatalogFactory.java | 0
.../factories/iceberg/IcebergFlinkCatalogFactory.java | 0
.../catalog/factories/mixed/MixedCatalogFactory.java | 0
.../factories/mixed/MixedHiveCatalogFactory.java | 0
.../factories/mixed/MixedIcebergCatalogFactory.java | 0
.../factories/paimon/PaimonFlinkCatalogFactory.java | 0
.../FlinkTablePropertiesInvocationHandler.java | 0
.../amoro/flink/interceptor/KerberosInterceptor.java | 0
.../flink/interceptor/KerberosInvocationHandler.java | 0
.../apache/amoro/flink/interceptor/ProxyFactory.java | 0
.../flink/lookup/ArcticRowDataLookupFunction.java | 0
.../apache/amoro/flink/lookup/BasicLookupFunction.java | 0
.../flink/lookup/BinaryRowDataSerializerWrapper.java | 0
.../amoro/flink/lookup/ByteArraySetSerializer.java | 0
.../apache/amoro/flink/lookup/ByteArrayWrapper.java | 0
.../java/org/apache/amoro/flink/lookup/KVTable.java | 0
.../org/apache/amoro/flink/lookup/KVTableFactory.java | 0
.../java/org/apache/amoro/flink/lookup/KeyRowData.java | 0
.../org/apache/amoro/flink/lookup/LookupMetrics.java | 0
.../org/apache/amoro/flink/lookup/LookupOptions.java | 0
.../org/apache/amoro/flink/lookup/LookupRecord.java | 0
.../apache/amoro/flink/lookup/RocksDBCacheState.java | 0
.../apache/amoro/flink/lookup/RocksDBRecordState.java | 0
.../amoro/flink/lookup/RocksDBSetSpilledState.java | 0
.../org/apache/amoro/flink/lookup/RocksDBSetState.java | 0
.../apache/amoro/flink/lookup/RowDataStateFactory.java | 0
.../apache/amoro/flink/lookup/SecondaryIndexTable.java | 0
.../org/apache/amoro/flink/lookup/TableFactory.java | 0
.../apache/amoro/flink/lookup/UniqueIndexTable.java | 0
.../amoro/flink/lookup/filter/RowDataPredicate.java | 0
.../filter/RowDataPredicateExpressionVisitor.java | 0
.../org/apache/amoro/flink/metric/MetricConstant.java | 0
.../apache/amoro/flink/metric/MetricsGenerator.java | 0
.../amoro/flink/planner/calcite/FlinkTypeSystem.java | 0
.../amoro/flink/read/AdaptHiveFlinkParquetReaders.java | 0
.../java/org/apache/amoro/flink/read/ArcticSource.java | 0
.../org/apache/amoro/flink/read/FlinkSplitPlanner.java | 0
.../amoro/flink/read/MixedIncrementalLoader.java | 0
.../apache/amoro/flink/read/PartitionAndNodeGroup.java | 0
.../read/hybrid/assigner/ShuffleSplitAssigner.java | 0
.../apache/amoro/flink/read/hybrid/assigner/Split.java | 0
.../flink/read/hybrid/assigner/SplitAssigner.java | 0
.../read/hybrid/assigner/StaticSplitAssigner.java | 0
.../hybrid/enumerator/AbstractArcticEnumerator.java | 0
.../read/hybrid/enumerator/ArcticEnumeratorOffset.java | 0
.../enumerator/ArcticEnumeratorOffsetSerializer.java | 0
.../read/hybrid/enumerator/ArcticSourceEnumState.java | 0
.../enumerator/ArcticSourceEnumStateSerializer.java | 0
.../read/hybrid/enumerator/ArcticSourceEnumerator.java | 0
.../hybrid/enumerator/ContinuousEnumerationResult.java | 0
.../read/hybrid/enumerator/ContinuousSplitPlanner.java | 0
.../hybrid/enumerator/ContinuousSplitPlannerImpl.java | 0
.../hybrid/enumerator/InitializationFinishedEvent.java | 0
.../enumerator/MergeOnReadIncrementalPlanner.java | 0
.../read/hybrid/enumerator/MergeOnReadPlannerImpl.java | 0
.../enumerator/StaticArcticSourceEnumerator.java | 0
.../flink/read/hybrid/reader/ArcticRecordEmitter.java | 0
.../read/hybrid/reader/ArcticRecordWithOffset.java | 0
.../flink/read/hybrid/reader/ArcticSourceReader.java | 0
.../flink/read/hybrid/reader/ArrayBatchRecords.java | 0
.../hybrid/reader/ArrayPoolDataIteratorBatcher.java | 0
.../flink/read/hybrid/reader/DataIteratorBatcher.java | 0
.../read/hybrid/reader/DataIteratorReaderFunction.java | 0
.../flink/read/hybrid/reader/HybridSplitReader.java | 0
.../amoro/flink/read/hybrid/reader/ReaderFunction.java | 0
.../flink/read/hybrid/reader/ReaderStartedEvent.java | 0
.../amoro/flink/read/hybrid/reader/RecordFactory.java | 0
.../amoro/flink/read/hybrid/reader/RecordPosition.java | 0
.../read/hybrid/reader/RowDataReaderFunction.java | 0
.../flink/read/hybrid/reader/RowDataRecordFactory.java | 0
.../amoro/flink/read/hybrid/split/ArcticSplit.java | 0
.../flink/read/hybrid/split/ArcticSplitSerializer.java | 0
.../flink/read/hybrid/split/ArcticSplitState.java | 0
.../amoro/flink/read/hybrid/split/ChangelogSplit.java | 0
.../flink/read/hybrid/split/MergeOnReadSplit.java | 0
.../amoro/flink/read/hybrid/split/SnapshotSplit.java | 0
.../flink/read/hybrid/split/SplitRequestEvent.java | 0
.../flink/read/hybrid/split/TemporalJoinSplits.java | 0
.../read/internals/KafkaPartitionSplitReader.java | 0
.../apache/amoro/flink/read/internals/KafkaSource.java | 0
.../read/internals/KafkaSourceFetcherManager.java | 0
.../amoro/flink/read/internals/KafkaSourceReader.java | 0
.../metrics/KafkaConsumerMetricConstants.java | 0
.../amoro/flink/read/source/ArcticScanContext.java | 0
.../amoro/flink/read/source/ChangeLogDataIterator.java | 0
.../apache/amoro/flink/read/source/DataIterator.java | 0
.../amoro/flink/read/source/FileScanTaskReader.java | 0
.../amoro/flink/read/source/FlinkArcticDataReader.java | 0
.../flink/read/source/FlinkArcticMORDataReader.java | 0
.../flink/read/source/MergeOnReadDataIterator.java | 0
.../amoro/flink/read/source/log/LogSourceHelper.java | 0
.../read/source/log/kafka/LogKafkaPartitionSplit.java | 0
.../source/log/kafka/LogKafkaPartitionSplitReader.java | 0
.../source/log/kafka/LogKafkaPartitionSplitState.java | 0
.../read/source/log/kafka/LogKafkaRecordEmitter.java | 0
.../flink/read/source/log/kafka/LogKafkaSource.java | 0
.../read/source/log/kafka/LogKafkaSourceBuilder.java | 0
.../read/source/log/kafka/LogKafkaSourceReader.java | 0
.../source/log/kafka/LogRecordWithRetractInfo.java | 0
.../amoro/flink/shuffle/ReadShuffleRulePolicy.java | 0
.../flink/shuffle/RoundRobinShuffleRulePolicy.java | 0
.../org/apache/amoro/flink/shuffle/ShuffleHelper.java | 0
.../org/apache/amoro/flink/shuffle/ShuffleKey.java | 0
.../apache/amoro/flink/shuffle/ShuffleRulePolicy.java | 0
.../amoro/flink/table/AmoroDynamicTableFactory.java | 0
.../apache/amoro/flink/table/ArcticDynamicSink.java | 0
.../apache/amoro/flink/table/ArcticDynamicSource.java | 0
.../org/apache/amoro/flink/table/ArcticFileSource.java | 0
.../apache/amoro/flink/table/ArcticTableLoader.java | 0
.../apache/amoro/flink/table/DynamicTableFactory.java | 0
.../java/org/apache/amoro/flink/table/FlinkSource.java | 0
.../amoro/flink/table/KafkaConnectorOptionsUtil.java | 0
.../org/apache/amoro/flink/table/LogDynamicSource.java | 0
.../flink/table/UnkeyedInputFormatOperatorFactory.java | 0
.../flink/table/UnkeyedInputFormatSourceFunction.java | 0
.../amoro/flink/table/descriptors/ArcticValidator.java | 0
.../java/org/apache/amoro/flink/util/ArcticUtils.java | 0
.../amoro/flink/util/CompatibleFlinkPropertyUtil.java | 0
.../org/apache/amoro/flink/util/DateTimeUtils.java | 0
.../java/org/apache/amoro/flink/util/FilterUtil.java | 0
.../amoro/flink/util/FlinkClassReflectionUtil.java | 0
.../amoro/flink/util/IcebergAndFlinkFilters.java | 0
.../org/apache/amoro/flink/util/IcebergClassUtil.java | 0
.../java/org/apache/amoro/flink/util/LookupUtil.java | 0
.../java/org/apache/amoro/flink/util/Projection.java | 0
.../java/org/apache/amoro/flink/util/ProxyUtil.java | 0
.../org/apache/amoro/flink/util/ReflectionUtil.java | 0
.../org/apache/amoro/flink/util/ThreadLocalCache.java | 0
.../flink/write/AdaptHiveFlinkAppenderFactory.java | 0
.../org/apache/amoro/flink/write/ArcticFileWriter.java | 0
.../org/apache/amoro/flink/write/ArcticLogWriter.java | 0
.../flink/write/ArcticRowDataTaskWriterFactory.java | 0
.../org/apache/amoro/flink/write/ArcticWriter.java | 0
.../amoro/flink/write/AutomaticDoubleWriteStatus.java | 0
.../apache/amoro/flink/write/AutomaticLogWriter.java | 0
.../amoro/flink/write/AutomaticWriteSpecification.java | 0
.../apache/amoro/flink/write/FlinkBaseTaskWriter.java | 0
.../amoro/flink/write/FlinkChangeTaskWriter.java | 0
.../java/org/apache/amoro/flink/write/FlinkSink.java | 0
.../amoro/flink/write/FlinkTaskWriterBuilder.java | 0
.../flink/write/hidden/AbstractHiddenLogWriter.java | 0
.../amoro/flink/write/hidden/ArcticLogPartitioner.java | 0
.../amoro/flink/write/hidden/GlobalFlipCommitter.java | 0
.../amoro/flink/write/hidden/HiddenLogWriter.java | 0
.../apache/amoro/flink/write/hidden/LogMsgFactory.java | 0
.../flink/write/hidden/kafka/HiddenKafkaFactory.java | 0
.../flink/write/hidden/kafka/HiddenKafkaProducer.java | 0
.../services/org.apache.flink.table.factories.Factory | 0
.../src/main/resources/log4j.properties | 0
.../apache/amoro/flink/DynamicTableSourceTestBase.java | 0
.../org/apache/amoro/flink/FlinkTableTestBase.java | 0
.../java/org/apache/amoro/flink/FlinkTestBase.java | 0
.../org/apache/amoro/flink/TestFlinkSchemaUtil.java | 0
.../amoro/flink/catalog/FlinkAmoroCatalogITCase.java | 0
.../amoro/flink/catalog/FlinkCatalogContext.java | 0
.../amoro/flink/catalog/FlinkUnifiedCatalogITCase.java | 0
.../amoro/flink/catalog/TestFlinkUnifiedCatalogs.java | 0
.../apache/amoro/flink/catalog/TestMixedCatalog.java | 0
.../flink/catalog/TestMixedCatalogTablePartitions.java | 0
.../flink/kafka/testutils/KafkaConfigGenerate.java | 0
.../flink/kafka/testutils/KafkaContainerTest.java | 0
.../apache/amoro/flink/kafka/testutils/KafkaUtil.java | 0
.../amoro/flink/kafka/testutils/SuccessException.java | 0
.../amoro/flink/lookup/ByteArraySetSerializerTest.java | 0
.../org/apache/amoro/flink/lookup/TestKVTable.java | 0
.../filter/TestRowDataPredicateAllFieldTypes.java | 0
.../flink/lookup/filter/TestRowDataPredicateBase.java | 0
.../filter/TestRowDataPredicateExpressionVisitor.java | 0
.../org/apache/amoro/flink/read/TestArcticSource.java | 0
.../org/apache/amoro/flink/read/TestFlinkSource.java | 0
.../apache/amoro/flink/read/TestFlinkSplitPlanner.java | 0
.../flink/read/hidden/kafka/TestKafkaConsumer.java | 0
.../flink/read/hidden/kafka/TestKafkaSourceReader.java | 0
.../hidden/kafka/TestLogKafkaPartitionSplitReader.java | 0
.../read/hybrid/assigner/TestShuffleSplitAssigner.java | 0
.../hybrid/assigner/TestSplitAssignerAwaiting.java | 0
.../read/hybrid/assigner/TestStaticSplitAssigner.java | 0
.../TestArcticSourceEnumStateSerializer.java | 0
.../hybrid/enumerator/TestArcticSourceEnumerator.java | 0
.../enumerator/TestContinuousSplitPlannerImpl.java | 0
.../enumerator/TestTemporalJoinSplitsThreadSafe.java | 0
.../read/hybrid/reader/MixedIncrementalLoaderTest.java | 0
.../read/hybrid/reader/TestRowDataReaderFunction.java | 0
.../read/hybrid/split/TestArcticSplitSerializer.java | 0
.../apache/amoro/flink/shuffle/TestLogRecordV1.java | 0
.../flink/shuffle/TestRoundRobinShuffleRulePolicy.java | 0
.../amoro/flink/table/AmoroCatalogITCaseBase.java | 0
.../apache/amoro/flink/table/CatalogITCaseBase.java | 0
.../org/apache/amoro/flink/table/LookupITCase.java | 0
.../java/org/apache/amoro/flink/table/TestJoin.java | 0
.../java/org/apache/amoro/flink/table/TestKeyed.java | 0
.../apache/amoro/flink/table/TestLookupSecondary.java | 0
.../org/apache/amoro/flink/table/TestTableRefresh.java | 0
.../java/org/apache/amoro/flink/table/TestUnkeyed.java | 0
.../apache/amoro/flink/table/TestUnkeyedOverwrite.java | 0
.../org/apache/amoro/flink/table/TestWatermark.java | 0
.../org/apache/amoro/flink/util/ClassLoaderUtils.java | 0
.../java/org/apache/amoro/flink/util/DataUtil.java | 0
.../apache/amoro/flink/util/MockEnvironmentArctic.java | 0
.../amoro/flink/util/MockEnvironmentBuilder.java | 0
.../flink/util/TestCompatibleFlinkPropertyUtil.java | 0
.../amoro/flink/util/TestGlobalAggregateManager.java | 0
.../flink/util/TestOneInputStreamOperatorIntern.java | 0
.../org/apache/amoro/flink/util/TestProjection.java | 0
.../java/org/apache/amoro/flink/util/TestUtil.java | 0
.../amoro/flink/write/ArcticFileWriterITCase.java | 0
.../amoro/flink/write/FlinkTaskWriterBaseTest.java | 0
.../apache/amoro/flink/write/TestAdaptHiveWriter.java | 0
.../amoro/flink/write/TestArcticFileCommitter.java | 0
.../apache/amoro/flink/write/TestArcticFileWriter.java | 0
.../flink/write/TestAutomaticDoubleWriteStatus.java | 0
.../amoro/flink/write/TestAutomaticLogWriter.java | 0
.../org/apache/amoro/flink/write/TestFlinkSink.java | 0
.../amoro/flink/write/hidden/kafka/TestBaseLog.java | 0
.../write/hidden/kafka/TestHiddenKafkaProducer.java | 0
.../write/hidden/kafka/TestHiddenLogOperators.java | 0
.../services/org.apache.flink.table.factories.Factory | 0
.../src/test/resources/log4j2-test.xml | 0
.../src/test/resources/log4j2.component.properties | 0
amoro-mixed-format/amoro-mixed-format-flink/pom.xml | 18 +++++++++---------
.../{flink => amoro-mixed-format-flink-1.15}/pom.xml | 0
.../pom.xml | 0
.../{flink => amoro-mixed-format-flink-1.16}/pom.xml | 0
.../pom.xml | 0
.../{flink => amoro-mixed-format-flink-1.17}/pom.xml | 0
.../pom.xml | 0
.../pom.xml | 0
.../org/apache/amoro/spark/SessionCatalogBase.java | 0
.../java/org/apache/amoro/spark/SparkTableFormat.java | 0
.../org/apache/amoro/spark/SparkUnifiedCatalog.java | 0
.../amoro/spark/SparkUnifiedCatalogProperties.java | 0
.../apache/amoro/spark/SparkUnifiedSessionCatalog.java | 0
.../org/apache/amoro/spark/SupportAuthentication.java | 0
.../apache/amoro/spark/iceberg/IcebergSparkFormat.java | 0
.../org/apache/amoro/spark/mixed/ArcticDataSource.java | 0
.../apache/amoro/spark/mixed/MixedFormatSparkUtil.java | 0
.../apache/amoro/spark/mixed/MixedHiveDataSource.java | 0
.../apache/amoro/spark/mixed/MixedHiveSparkFormat.java | 0
.../amoro/spark/mixed/MixedIcebergDataSource.java | 0
.../amoro/spark/mixed/MixedIcebergSparkFormat.java | 0
.../amoro/spark/mixed/MixedSessionCatalogBase.java | 0
.../org/apache/amoro/spark/mixed/MixedSourceBase.java | 0
.../amoro/spark/mixed/MixedSparkCatalogBase.java | 0
.../apache/amoro/spark/mixed/MixedTableStoreType.java | 0
.../apache/amoro/spark/mixed/SparkSQLProperties.java | 0
.../apache/amoro/spark/paimon/PaimonSparkFormat.java | 0
.../java/org/apache/amoro/spark/util/SparkUtil.java | 0
.../services/org.apache.amoro.spark.SparkTableFormat | 0
.../org.apache.spark.sql.sources.DataSourceRegister | 0
.../apache/amoro/spark/test/MixedTableTestBase.java | 0
.../org/apache/amoro/spark/test/SparkTestBase.java | 0
.../org/apache/amoro/spark/test/SparkTestContext.java | 0
.../org/apache/amoro/spark/test/TestIdentifier.java | 0
.../spark/test/extensions/DefaultParameterContext.java | 0
.../spark/test/extensions/EachParameterResolver.java | 0
.../spark/test/extensions/EnableCatalogSelect.java | 0
.../test/extensions/EnableCatalogSelectExtension.java | 0
.../spark/test/unified/UnifiedCatalogTestSuites.java | 0
.../org/apache/amoro/spark/test/utils/Asserts.java | 0
.../apache/amoro/spark/test/utils/DataComparator.java | 0
.../amoro/spark/test/utils/ExpectResultUtil.java | 0
.../apache/amoro/spark/test/utils/RecordGenerator.java | 0
.../amoro/spark/test/utils/ResourceInputFile.java | 0
.../apache/amoro/spark/test/utils/ScalaTestUtil.java | 0
.../org/apache/amoro/spark/test/utils/TableFiles.java | 0
.../org/apache/amoro/spark/test/utils/TestTable.java | 0
.../apache/amoro/spark/test/utils/TestTableUtil.java | 0
.../org/apache/amoro/spark/test/utils/TestTables.java | 0
amoro-mixed-format/amoro-mixed-format-spark/pom.xml | 10 +++++-----
.../pom.xml | 0
.../{spark => amoro-mixed-format-spark-3.2}/pom.xml | 0
.../apache/amoro/spark/sql/parser/ArcticSqlCommand.g4 | 0
.../apache/amoro/spark/sql/parser/ArcticSqlExtend.g4 | 0
.../src/main/gen-antlr/.gitignore | 0
.../spark/sql/parser/ArcticSqlCommandBaseListener.java | 0
.../spark/sql/parser/ArcticSqlCommandBaseVisitor.java | 0
.../amoro/spark/sql/parser/ArcticSqlCommandLexer.java | 0
.../spark/sql/parser/ArcticSqlCommandListener.java | 0
.../amoro/spark/sql/parser/ArcticSqlCommandParser.java | 0
.../spark/sql/parser/ArcticSqlCommandVisitor.java | 0
.../spark/sql/parser/ArcticSqlExtendBaseListener.java | 0
.../spark/sql/parser/ArcticSqlExtendBaseVisitor.java | 0
.../amoro/spark/sql/parser/ArcticSqlExtendLexer.java | 0
.../spark/sql/parser/ArcticSqlExtendListener.java | 0
.../amoro/spark/sql/parser/ArcticSqlExtendParser.java | 0
.../amoro/spark/sql/parser/ArcticSqlExtendVisitor.java | 0
.../org/apache/amoro/spark/ArcticSparkCatalog.java | 0
.../apache/amoro/spark/ArcticSparkSessionCatalog.java | 0
.../java/org/apache/amoro/spark/Spark32Adapter.java | 0
.../main/java/org/apache/amoro/spark/SparkAdapter.java | 0
.../org/apache/amoro/spark/SparkAdapterLoader.java | 0
.../amoro/spark/SparkInternalRowCastWrapper.java | 0
.../apache/amoro/spark/SparkInternalRowWrapper.java | 0
.../apache/amoro/spark/command/ArcticSparkCommand.java | 0
.../amoro/spark/command/MigrateToArcticCommand.java | 0
.../amoro/spark/io/ArcticSparkBaseTaskWriter.java | 0
.../amoro/spark/io/ArcticSparkChangeTaskWriter.java | 0
.../amoro/spark/io/InternalRowFileAppenderFactory.java | 0
.../java/org/apache/amoro/spark/io/TaskWriters.java | 0
.../amoro/spark/io/UnkeyedUpsertSparkWriter.java | 0
.../amoro/spark/reader/ArcticSparkKeyedDataReader.java | 0
.../spark/reader/ArcticSparkUnkeyedDataReader.java | 0
.../apache/amoro/spark/reader/KeyedSparkBatchScan.java | 0
.../apache/amoro/spark/reader/SparkParquetReaders.java | 0
.../apache/amoro/spark/reader/SparkScanBuilder.java | 0
.../amoro/spark/reader/UnkeyedSparkBatchScan.java | 0
.../sql/catalyst/parser/ArcticCommandAstParser.java | 0
.../sql/connector/expressions/FileIndexBucket.java | 0
.../amoro/spark/table/ArcticIcebergSparkTable.java | 0
.../amoro/spark/table/ArcticSparkChangeTable.java | 0
.../org/apache/amoro/spark/table/ArcticSparkTable.java | 0
.../amoro/spark/table/SupportsExtendIdentColumns.java | 0
.../amoro/spark/table/SupportsRowLevelOperator.java | 0
.../org/apache/amoro/spark/util/ArcticSparkUtils.java | 0
.../amoro/spark/util/DistributionAndOrderingUtil.java | 0
.../org/apache/amoro/spark/util/ExpressionHelper.java | 0
.../org/apache/amoro/spark/util/SortOrderToSpark.java | 0
.../main/java/org/apache/amoro/spark/util/Stats.java | 0
.../amoro/spark/writer/ArcticSparkWriteBuilder.java | 0
.../amoro/spark/writer/KeyedSparkBatchWrite.java | 0
.../org/apache/amoro/spark/writer/RowLevelWriter.java | 0
.../spark/writer/SimpleInternalRowDataWriter.java | 0
.../amoro/spark/writer/SimpleRowLevelDataWriter.java | 0
.../amoro/spark/writer/UnkeyedSparkBatchWrite.java | 0
.../java/org/apache/amoro/spark/writer/WriteMode.java | 0
.../org/apache/amoro/spark/writer/WriteTaskCommit.java | 0
.../data/AdaptHiveParquetWithSparkSchemaVisitor.java | 0
.../spark/data/AdaptHiveSparkParquetWriters.java | 0
.../org/apache/amoro/spark/ArcticSparkExtensions.scala | 0
.../org/apache/amoro/spark/SupportSparkAdapter.scala | 0
.../apache/amoro/spark/sql/ArcticExtensionUtils.scala | 0
.../catalyst/analysis/QueryWithConstraintCheck.scala | 0
.../sql/catalyst/analysis/ResolveArcticCommand.scala | 0
.../ResolveMergeIntoArcticTableReferences.scala | 0
.../sql/catalyst/analysis/RewriteArcticCommand.scala | 0
.../analysis/RewriteArcticMergeIntoTable.scala | 0
.../sql/catalyst/optimize/OptimizeWriteRule.scala | 0
.../catalyst/optimize/RewriteAppendArcticTable.scala | 0
.../optimize/RewriteDeleteFromArcticTable.scala | 0
.../catalyst/optimize/RewriteUpdateArcticTable.scala | 0
.../spark/sql/catalyst/parser/ArcticParserUtils.scala | 0
.../catalyst/parser/ArcticSqlExtensionsParser.scala | 0
.../catalyst/plans/AlterArcticTableDropPartition.scala | 0
.../spark/sql/catalyst/plans/ArcticRowLevelWrite.scala | 0
.../sql/catalyst/plans/MergeIntoArcticTable.scala | 0
.../amoro/spark/sql/catalyst/plans/MergeRows.scala | 0
.../catalyst/plans/QueryWithConstraintCheckPlan.scala | 0
.../spark/sql/catalyst/plans/TruncateArcticTable.scala | 0
.../plans/UnresolvedMergeIntoArcticTable.scala | 0
.../amoro/spark/sql/catalyst/plans/logicals.scala | 0
.../amoro/spark/sql/catalyst/plans/statements.scala | 0
.../execution/AlterArcticTableDropPartitionExec.scala | 0
.../amoro/spark/sql/execution/ArcticCommandExec.scala | 0
.../spark/sql/execution/ArcticRowLevelWriteExec.scala | 0
.../spark/sql/execution/DescribeKeyedTableExec.scala | 0
.../spark/sql/execution/ExtendedArcticStrategy.scala | 0
.../amoro/spark/sql/execution/MergeRowsExec.scala | 0
.../sql/execution/QueryWithConstraintCheckExec.scala | 0
.../spark/sql/execution/TruncateArcticTableExec.scala | 0
.../amoro/spark/sql/utils/ArcticRewriteHelper.scala | 0
.../amoro/spark/sql/utils/ProjectingInternalRow.scala | 0
.../apache/amoro/spark/sql/utils/RowDeltaUtils.scala | 0
.../amoro/spark/sql/utils/WriteQueryProjections.scala | 0
.../org/apache/amoro/spark/sql/utils/expressions.scala | 0
.../spark/sql/amoro/catalyst/ArcticSpark32Helper.scala | 0
.../spark/sql/amoro/catalyst/ExpressionHelper.scala | 0
.../sql/amoro/parser/ArcticSqlExtendAstBuilder.scala | 0
.../spark/sql/amoro/parser/QueryParsingErrors.scala | 0
.../org/apache/amoro/spark/TestUnifiedCatalog.java | 0
.../org/apache/amoro/spark/test/TestImpalaParquet.java | 0
.../test/suites/api/TestKeyedTableDataFrameAPI.java | 0
.../test/suites/api/TestUnKeyedTableDataFrameAPI.java | 0
.../spark/test/suites/catalog/TestSessionCatalog.java | 0
.../spark/test/suites/sql/TestAlterTableColumnSQL.java | 0
.../spark/test/suites/sql/TestArcticCommandSQL.java | 0
.../test/suites/sql/TestArcticSessionCatalog.java | 0
.../spark/test/suites/sql/TestCreateTableAsSelect.java | 0
.../spark/test/suites/sql/TestCreateTableLikeSQL.java | 0
.../spark/test/suites/sql/TestCreateTableSQL.java | 0
.../amoro/spark/test/suites/sql/TestDeleteFromSQL.java | 0
.../amoro/spark/test/suites/sql/TestDescSQL.java | 0
.../spark/test/suites/sql/TestDropPartitionSQL.java | 0
.../amoro/spark/test/suites/sql/TestInsertIntoSQL.java | 0
.../spark/test/suites/sql/TestInsertOverwriteSQL.java | 0
.../amoro/spark/test/suites/sql/TestMergeIntoSQL.java | 0
.../amoro/spark/test/suites/sql/TestSelectSQL.java | 0
.../amoro/spark/test/suites/sql/TestTruncateSQL.java | 0
.../amoro/spark/test/suites/sql/TestUpdateSQL.java | 0
.../test/suites/ut/sql/parser/TestSqlExtendParser.java | 0
.../org/apache/amoro/spark/writer/TestMixedWriter.java | 0
.../src/test/resources/log4j2.properties | 0
.../pom.xml | 0
.../{spark => amoro-mixed-format-spark-3.3}/pom.xml | 0
.../apache/amoro/spark/sql/parser/ArcticSqlCommand.g4 | 0
.../apache/amoro/spark/sql/parser/ArcticSqlExtend.g4 | 0
.../src/main/gen-antlr/.gitignore | 0
.../spark/sql/parser/ArcticSqlCommandBaseListener.java | 0
.../spark/sql/parser/ArcticSqlCommandBaseVisitor.java | 0
.../amoro/spark/sql/parser/ArcticSqlCommandLexer.java | 0
.../spark/sql/parser/ArcticSqlCommandListener.java | 0
.../amoro/spark/sql/parser/ArcticSqlCommandParser.java | 0
.../spark/sql/parser/ArcticSqlCommandVisitor.java | 0
.../spark/sql/parser/ArcticSqlExtendBaseListener.java | 0
.../spark/sql/parser/ArcticSqlExtendBaseVisitor.java | 0
.../amoro/spark/sql/parser/ArcticSqlExtendLexer.java | 0
.../spark/sql/parser/ArcticSqlExtendListener.java | 0
.../amoro/spark/sql/parser/ArcticSqlExtendParser.java | 0
.../amoro/spark/sql/parser/ArcticSqlExtendVisitor.java | 0
.../org/apache/amoro/spark/ArcticSparkCatalog.java | 0
.../apache/amoro/spark/ArcticSparkSessionCatalog.java | 0
.../java/org/apache/amoro/spark/Spark33Adapter.java | 0
.../main/java/org/apache/amoro/spark/SparkAdapter.java | 0
.../org/apache/amoro/spark/SparkAdapterLoader.java | 0
.../amoro/spark/SparkInternalRowCastWrapper.java | 0
.../apache/amoro/spark/SparkInternalRowWrapper.java | 0
.../apache/amoro/spark/command/ArcticSparkCommand.java | 0
.../amoro/spark/command/MigrateToArcticCommand.java | 0
.../amoro/spark/io/ArcticSparkBaseTaskWriter.java | 0
.../amoro/spark/io/ArcticSparkChangeTaskWriter.java | 0
.../amoro/spark/io/InternalRowFileAppenderFactory.java | 0
.../java/org/apache/amoro/spark/io/TaskWriters.java | 0
.../amoro/spark/io/UnkeyedUpsertSparkWriter.java | 0
.../amoro/spark/reader/ArcticSparkKeyedDataReader.java | 0
.../spark/reader/ArcticSparkUnkeyedDataReader.java | 0
.../apache/amoro/spark/reader/KeyedSparkBatchScan.java | 0
.../apache/amoro/spark/reader/SparkParquetReaders.java | 0
.../apache/amoro/spark/reader/SparkScanBuilder.java | 0
.../amoro/spark/reader/UnkeyedSparkBatchScan.java | 0
.../sql/catalyst/parser/ArcticCommandAstParser.java | 0
.../sql/connector/expressions/FileIndexBucket.java | 0
.../amoro/spark/table/ArcticIcebergSparkTable.java | 0
.../amoro/spark/table/ArcticSparkChangeTable.java | 0
.../org/apache/amoro/spark/table/ArcticSparkTable.java | 0
.../amoro/spark/table/SupportsExtendIdentColumns.java | 0
.../amoro/spark/table/SupportsRowLevelOperator.java | 0
.../org/apache/amoro/spark/util/ArcticSparkUtils.java | 0
.../amoro/spark/util/DistributionAndOrderingUtil.java | 0
.../org/apache/amoro/spark/util/ExpressionHelper.java | 0
.../org/apache/amoro/spark/util/SortOrderToSpark.java | 0
.../main/java/org/apache/amoro/spark/util/Stats.java | 0
.../amoro/spark/writer/ArcticSparkWriteBuilder.java | 0
.../amoro/spark/writer/KeyedSparkBatchWrite.java | 0
.../org/apache/amoro/spark/writer/RowLevelWriter.java | 0
.../spark/writer/SimpleInternalRowDataWriter.java | 0
.../amoro/spark/writer/SimpleRowLevelDataWriter.java | 0
.../amoro/spark/writer/UnkeyedSparkBatchWrite.java | 0
.../java/org/apache/amoro/spark/writer/WriteMode.java | 0
.../org/apache/amoro/spark/writer/WriteTaskCommit.java | 0
.../data/AdaptHiveParquetWithSparkSchemaVisitor.java | 0
.../spark/data/AdaptHiveSparkParquetWriters.java | 0
.../org/apache/amoro/spark/ArcticSparkExtensions.scala | 0
.../org/apache/amoro/spark/SupportSparkAdapter.scala | 0
.../apache/amoro/spark/sql/ArcticExtensionUtils.scala | 0
.../catalyst/analysis/QueryWithConstraintCheck.scala | 0
.../sql/catalyst/analysis/ResolveArcticCommand.scala | 0
.../ResolveMergeIntoArcticTableReferences.scala | 0
.../sql/catalyst/analysis/RewriteArcticCommand.scala | 0
.../analysis/RewriteArcticMergeIntoTable.scala | 0
.../sql/catalyst/optimize/OptimizeWriteRule.scala | 0
.../catalyst/optimize/RewriteAppendArcticTable.scala | 0
.../optimize/RewriteDeleteFromArcticTable.scala | 0
.../catalyst/optimize/RewriteUpdateArcticTable.scala | 0
.../spark/sql/catalyst/parser/ArcticParserUtils.scala | 0
.../catalyst/parser/ArcticSqlExtensionsParser.scala | 0
.../catalyst/plans/AlterArcticTableDropPartition.scala | 0
.../spark/sql/catalyst/plans/ArcticRowLevelWrite.scala | 0
.../sql/catalyst/plans/MergeIntoArcticTable.scala | 0
.../amoro/spark/sql/catalyst/plans/MergeRows.scala | 0
.../catalyst/plans/QueryWithConstraintCheckPlan.scala | 0
.../spark/sql/catalyst/plans/TruncateArcticTable.scala | 0
.../plans/UnresolvedMergeIntoArcticTable.scala | 0
.../amoro/spark/sql/catalyst/plans/logicals.scala | 0
.../amoro/spark/sql/catalyst/plans/statements.scala | 0
.../execution/AlterArcticTableDropPartitionExec.scala | 0
.../amoro/spark/sql/execution/ArcticCommandExec.scala | 0
.../spark/sql/execution/ArcticRowLevelWriteExec.scala | 0
.../spark/sql/execution/DescribeKeyedTableExec.scala | 0
.../spark/sql/execution/ExtendedArcticStrategy.scala | 0
.../amoro/spark/sql/execution/MergeRowsExec.scala | 0
.../sql/execution/QueryWithConstraintCheckExec.scala | 0
.../spark/sql/execution/TruncateArcticTableExec.scala | 0
.../amoro/spark/sql/utils/ArcticRewriteHelper.scala | 0
.../amoro/spark/sql/utils/ProjectingInternalRow.scala | 0
.../apache/amoro/spark/sql/utils/RowDeltaUtils.scala | 0
.../amoro/spark/sql/utils/WriteQueryProjections.scala | 0
.../org/apache/amoro/spark/sql/utils/expressions.scala | 0
.../spark/sql/amoro/catalyst/ArcticSpark33Helper.scala | 0
.../spark/sql/amoro/catalyst/AssignmentHelper.scala | 0
.../spark/sql/amoro/catalyst/ExpressionHelper.scala | 0
.../sql/amoro/parser/ArcticSqlExtendAstBuilder.scala | 0
.../spark/sql/amoro/parser/QueryParsingErrors.scala | 0
.../org/apache/amoro/spark/TestUnifiedCatalog.java | 0
.../org/apache/amoro/spark/test/TestImpalaParquet.java | 0
.../test/suites/api/TestKeyedTableDataFrameAPI.java | 0
.../test/suites/api/TestUnKeyedTableDataFrameAPI.java | 0
.../spark/test/suites/catalog/TestSessionCatalog.java | 0
.../spark/test/suites/sql/TestAlterTableColumnSQL.java | 0
.../spark/test/suites/sql/TestArcticCommandSQL.java | 0
.../test/suites/sql/TestArcticSessionCatalog.java | 0
.../spark/test/suites/sql/TestCreateTableAsSelect.java | 0
.../spark/test/suites/sql/TestCreateTableLikeSQL.java | 0
.../spark/test/suites/sql/TestCreateTableSQL.java | 0
.../amoro/spark/test/suites/sql/TestDeleteFromSQL.java | 0
.../amoro/spark/test/suites/sql/TestDescSQL.java | 0
.../spark/test/suites/sql/TestDropPartitionSQL.java | 0
.../amoro/spark/test/suites/sql/TestInsertIntoSQL.java | 0
.../spark/test/suites/sql/TestInsertOverwriteSQL.java | 0
.../amoro/spark/test/suites/sql/TestMergeIntoSQL.java | 0
.../amoro/spark/test/suites/sql/TestSelectSQL.java | 0
.../amoro/spark/test/suites/sql/TestTruncateSQL.java | 0
.../amoro/spark/test/suites/sql/TestUpdateSQL.java | 0
.../test/suites/ut/sql/parser/TestSqlExtendParser.java | 0
.../org/apache/amoro/spark/writer/TestMixedWriter.java | 0
.../src/test/resources/log4j2.properties | 0
docs/admin-guides/deployment.md | 8 ++++----
530 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common-format/pom.xml b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-format/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common-format/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-format/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common-format/src/main/java/org/apache/amoro/flink/shuffle/LogRecordV1.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-format/src/main/java/org/apache/amoro/flink/shuffle/LogRecordV1.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common-format/src/main/java/org/apache/amoro/flink/shuffle/LogRecordV1.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-format/src/main/java/org/apache/amoro/flink/shuffle/LogRecordV1.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common-format/src/main/java/org/apache/amoro/flink/shuffle/RowKindUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-format/src/main/java/org/apache/amoro/flink/shuffle/RowKindUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common-format/src/main/java/org/apache/amoro/flink/shuffle/RowKindUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-format/src/main/java/org/apache/amoro/flink/shuffle/RowKindUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/pom.xml b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveFlinkParquetReaders.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveFlinkParquetReaders.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveFlinkParquetReaders.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveFlinkParquetReaders.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveFlinkParquetWriters.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveFlinkParquetWriters.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveFlinkParquetWriters.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveFlinkParquetWriters.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveParquetWithFlinkSchemaVisitor.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveParquetWithFlinkSchemaVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveParquetWithFlinkSchemaVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/data/AdaptHiveParquetWithFlinkSchemaVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/source/RowDataFileScanTaskReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/source/RowDataFileScanTaskReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/source/RowDataFileScanTaskReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/source/RowDataFileScanTaskReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/source/ScanContext.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/source/ScanContext.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/source/ScanContext.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common-iceberg-bridge/src/main/java/org/apache/iceberg/flink/source/ScanContext.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/pom.xml b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/FlinkSchemaUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/FlinkSchemaUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/FlinkSchemaUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/FlinkSchemaUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/InternalCatalogBuilder.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/InternalCatalogBuilder.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/InternalCatalogBuilder.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/InternalCatalogBuilder.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/FlinkUnifiedCatalog.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/FlinkUnifiedCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/FlinkUnifiedCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/FlinkUnifiedCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/MixedCatalog.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/MixedCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/MixedCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/MixedCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/CatalogFactoryOptions.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/CatalogFactoryOptions.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/CatalogFactoryOptions.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/CatalogFactoryOptions.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/FlinkUnifiedCatalogFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/FlinkUnifiedCatalogFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/FlinkUnifiedCatalogFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/FlinkUnifiedCatalogFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/iceberg/IcebergFlinkCatalogFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/iceberg/IcebergFlinkCatalogFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/iceberg/IcebergFlinkCatalogFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/iceberg/IcebergFlinkCatalogFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedCatalogFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedCatalogFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedCatalogFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedCatalogFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedHiveCatalogFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedHiveCatalogFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedHiveCatalogFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedHiveCatalogFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedIcebergCatalogFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedIcebergCatalogFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedIcebergCatalogFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/mixed/MixedIcebergCatalogFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/paimon/PaimonFlinkCatalogFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/paimon/PaimonFlinkCatalogFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/paimon/PaimonFlinkCatalogFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/catalog/factories/paimon/PaimonFlinkCatalogFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/interceptor/FlinkTablePropertiesInvocationHandler.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/interceptor/FlinkTablePropertiesInvocationHandler.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/interceptor/FlinkTablePropertiesInvocationHandler.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/interceptor/FlinkTablePropertiesInvocationHandler.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/interceptor/KerberosInterceptor.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/interceptor/KerberosInterceptor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/interceptor/KerberosInterceptor.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/interceptor/KerberosInterceptor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/interceptor/KerberosInvocationHandler.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/interceptor/KerberosInvocationHandler.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/interceptor/KerberosInvocationHandler.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/interceptor/KerberosInvocationHandler.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/interceptor/ProxyFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/interceptor/ProxyFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/interceptor/ProxyFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/interceptor/ProxyFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/ArcticRowDataLookupFunction.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/ArcticRowDataLookupFunction.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/ArcticRowDataLookupFunction.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/ArcticRowDataLookupFunction.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/BasicLookupFunction.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/BasicLookupFunction.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/BasicLookupFunction.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/BasicLookupFunction.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/BinaryRowDataSerializerWrapper.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/BinaryRowDataSerializerWrapper.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/BinaryRowDataSerializerWrapper.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/BinaryRowDataSerializerWrapper.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/ByteArraySetSerializer.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/ByteArraySetSerializer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/ByteArraySetSerializer.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/ByteArraySetSerializer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/ByteArrayWrapper.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/ByteArrayWrapper.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/ByteArrayWrapper.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/ByteArrayWrapper.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/KVTable.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/KVTable.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/KVTable.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/KVTable.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/KVTableFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/KVTableFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/KVTableFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/KVTableFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/KeyRowData.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/KeyRowData.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/KeyRowData.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/KeyRowData.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupMetrics.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupMetrics.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupMetrics.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupMetrics.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupOptions.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupOptions.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupOptions.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupOptions.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupRecord.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupRecord.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupRecord.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/LookupRecord.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBCacheState.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBCacheState.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBCacheState.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBCacheState.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBRecordState.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBRecordState.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBRecordState.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBRecordState.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBSetSpilledState.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBSetSpilledState.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBSetSpilledState.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBSetSpilledState.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBSetState.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBSetState.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBSetState.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBSetState.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/RowDataStateFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/RowDataStateFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/RowDataStateFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/RowDataStateFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/SecondaryIndexTable.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/SecondaryIndexTable.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/SecondaryIndexTable.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/SecondaryIndexTable.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/TableFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/TableFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/TableFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/TableFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/UniqueIndexTable.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/UniqueIndexTable.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/UniqueIndexTable.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/UniqueIndexTable.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/filter/RowDataPredicate.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/filter/RowDataPredicate.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/filter/RowDataPredicate.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/filter/RowDataPredicate.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/filter/RowDataPredicateExpressionVisitor.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/filter/RowDataPredicateExpressionVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/lookup/filter/RowDataPredicateExpressionVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/lookup/filter/RowDataPredicateExpressionVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/metric/MetricConstant.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/metric/MetricConstant.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/metric/MetricConstant.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/metric/MetricConstant.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/metric/MetricsGenerator.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/metric/MetricsGenerator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/metric/MetricsGenerator.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/metric/MetricsGenerator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/planner/calcite/FlinkTypeSystem.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/planner/calcite/FlinkTypeSystem.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/planner/calcite/FlinkTypeSystem.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/planner/calcite/FlinkTypeSystem.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/AdaptHiveFlinkParquetReaders.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/AdaptHiveFlinkParquetReaders.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/AdaptHiveFlinkParquetReaders.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/AdaptHiveFlinkParquetReaders.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/ArcticSource.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/ArcticSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/ArcticSource.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/ArcticSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/FlinkSplitPlanner.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/FlinkSplitPlanner.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/FlinkSplitPlanner.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/FlinkSplitPlanner.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/MixedIncrementalLoader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/MixedIncrementalLoader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/MixedIncrementalLoader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/MixedIncrementalLoader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/PartitionAndNodeGroup.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/PartitionAndNodeGroup.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/PartitionAndNodeGroup.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/PartitionAndNodeGroup.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/ShuffleSplitAssigner.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/ShuffleSplitAssigner.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/ShuffleSplitAssigner.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/ShuffleSplitAssigner.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/Split.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/Split.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/Split.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/Split.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/SplitAssigner.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/SplitAssigner.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/SplitAssigner.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/SplitAssigner.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/StaticSplitAssigner.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/StaticSplitAssigner.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/StaticSplitAssigner.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/StaticSplitAssigner.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/AbstractArcticEnumerator.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/AbstractArcticEnumerator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/AbstractArcticEnumerator.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/AbstractArcticEnumerator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticEnumeratorOffset.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticEnumeratorOffset.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticEnumeratorOffset.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticEnumeratorOffset.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticEnumeratorOffsetSerializer.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticEnumeratorOffsetSerializer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticEnumeratorOffsetSerializer.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticEnumeratorOffsetSerializer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumState.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumState.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumState.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumState.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumStateSerializer.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumStateSerializer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumStateSerializer.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumStateSerializer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumerator.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumerator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumerator.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ArcticSourceEnumerator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousEnumerationResult.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousEnumerationResult.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousEnumerationResult.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousEnumerationResult.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousSplitPlanner.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousSplitPlanner.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousSplitPlanner.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousSplitPlanner.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousSplitPlannerImpl.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousSplitPlannerImpl.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousSplitPlannerImpl.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/ContinuousSplitPlannerImpl.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/InitializationFinishedEvent.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/InitializationFinishedEvent.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/InitializationFinishedEvent.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/InitializationFinishedEvent.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/MergeOnReadIncrementalPlanner.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/MergeOnReadIncrementalPlanner.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/MergeOnReadIncrementalPlanner.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/MergeOnReadIncrementalPlanner.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/MergeOnReadPlannerImpl.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/MergeOnReadPlannerImpl.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/MergeOnReadPlannerImpl.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/MergeOnReadPlannerImpl.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/StaticArcticSourceEnumerator.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/StaticArcticSourceEnumerator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/StaticArcticSourceEnumerator.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/StaticArcticSourceEnumerator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticRecordEmitter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticRecordEmitter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticRecordEmitter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticRecordEmitter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticRecordWithOffset.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticRecordWithOffset.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticRecordWithOffset.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticRecordWithOffset.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticSourceReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticSourceReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticSourceReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArcticSourceReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArrayBatchRecords.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArrayBatchRecords.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArrayBatchRecords.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArrayBatchRecords.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArrayPoolDataIteratorBatcher.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArrayPoolDataIteratorBatcher.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArrayPoolDataIteratorBatcher.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ArrayPoolDataIteratorBatcher.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/DataIteratorBatcher.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/DataIteratorBatcher.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/DataIteratorBatcher.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/DataIteratorBatcher.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/DataIteratorReaderFunction.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/DataIteratorReaderFunction.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/DataIteratorReaderFunction.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/DataIteratorReaderFunction.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/HybridSplitReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/HybridSplitReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/HybridSplitReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/HybridSplitReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ReaderFunction.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ReaderFunction.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ReaderFunction.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ReaderFunction.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ReaderStartedEvent.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ReaderStartedEvent.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ReaderStartedEvent.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/ReaderStartedEvent.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RecordFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RecordFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RecordFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RecordFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RecordPosition.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RecordPosition.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RecordPosition.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RecordPosition.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RowDataReaderFunction.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RowDataReaderFunction.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RowDataReaderFunction.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RowDataReaderFunction.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RowDataRecordFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RowDataRecordFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RowDataRecordFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/reader/RowDataRecordFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplit.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplit.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplit.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplit.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplitSerializer.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplitSerializer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplitSerializer.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplitSerializer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplitState.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplitState.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplitState.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ArcticSplitState.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ChangelogSplit.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ChangelogSplit.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ChangelogSplit.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/ChangelogSplit.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/MergeOnReadSplit.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/MergeOnReadSplit.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/MergeOnReadSplit.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/MergeOnReadSplit.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/SnapshotSplit.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/SnapshotSplit.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/SnapshotSplit.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/SnapshotSplit.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/SplitRequestEvent.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/SplitRequestEvent.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/SplitRequestEvent.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/SplitRequestEvent.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/TemporalJoinSplits.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/TemporalJoinSplits.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/TemporalJoinSplits.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/split/TemporalJoinSplits.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaPartitionSplitReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaPartitionSplitReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaPartitionSplitReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaPartitionSplitReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSource.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSource.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSourceFetcherManager.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSourceFetcherManager.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSourceFetcherManager.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSourceFetcherManager.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSourceReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSourceReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSourceReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/internals/KafkaSourceReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/internals/metrics/KafkaConsumerMetricConstants.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/internals/metrics/KafkaConsumerMetricConstants.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/internals/metrics/KafkaConsumerMetricConstants.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/internals/metrics/KafkaConsumerMetricConstants.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/ArcticScanContext.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/ArcticScanContext.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/ArcticScanContext.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/ArcticScanContext.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/ChangeLogDataIterator.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/ChangeLogDataIterator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/ChangeLogDataIterator.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/ChangeLogDataIterator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/DataIterator.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/DataIterator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/DataIterator.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/DataIterator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/FileScanTaskReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/FileScanTaskReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/FileScanTaskReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/FileScanTaskReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/FlinkArcticDataReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/FlinkArcticDataReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/FlinkArcticDataReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/FlinkArcticDataReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/FlinkArcticMORDataReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/FlinkArcticMORDataReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/FlinkArcticMORDataReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/FlinkArcticMORDataReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/MergeOnReadDataIterator.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/MergeOnReadDataIterator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/MergeOnReadDataIterator.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/MergeOnReadDataIterator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/LogSourceHelper.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/LogSourceHelper.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/LogSourceHelper.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/LogSourceHelper.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplit.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplit.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplit.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplit.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplitReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplitReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplitReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplitReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplitState.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplitState.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplitState.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaPartitionSplitState.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaRecordEmitter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaRecordEmitter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaRecordEmitter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaRecordEmitter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSource.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSource.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSourceBuilder.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSourceBuilder.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSourceBuilder.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSourceBuilder.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSourceReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSourceReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSourceReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogKafkaSourceReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogRecordWithRetractInfo.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogRecordWithRetractInfo.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogRecordWithRetractInfo.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/read/source/log/kafka/LogRecordWithRetractInfo.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/shuffle/ReadShuffleRulePolicy.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/shuffle/ReadShuffleRulePolicy.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/shuffle/ReadShuffleRulePolicy.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/shuffle/ReadShuffleRulePolicy.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/shuffle/RoundRobinShuffleRulePolicy.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/shuffle/RoundRobinShuffleRulePolicy.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/shuffle/RoundRobinShuffleRulePolicy.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/shuffle/RoundRobinShuffleRulePolicy.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleHelper.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleHelper.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleHelper.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleHelper.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleKey.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleKey.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleKey.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleKey.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleRulePolicy.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleRulePolicy.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleRulePolicy.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/shuffle/ShuffleRulePolicy.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/AmoroDynamicTableFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/AmoroDynamicTableFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/AmoroDynamicTableFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/AmoroDynamicTableFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/ArcticDynamicSink.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/ArcticDynamicSink.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/ArcticDynamicSink.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/ArcticDynamicSink.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/ArcticDynamicSource.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/ArcticDynamicSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/ArcticDynamicSource.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/ArcticDynamicSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/ArcticFileSource.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/ArcticFileSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/ArcticFileSource.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/ArcticFileSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/ArcticTableLoader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/ArcticTableLoader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/ArcticTableLoader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/ArcticTableLoader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/DynamicTableFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/DynamicTableFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/DynamicTableFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/DynamicTableFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/FlinkSource.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/FlinkSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/FlinkSource.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/FlinkSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/KafkaConnectorOptionsUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/KafkaConnectorOptionsUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/KafkaConnectorOptionsUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/KafkaConnectorOptionsUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/LogDynamicSource.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/LogDynamicSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/LogDynamicSource.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/LogDynamicSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/UnkeyedInputFormatOperatorFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/UnkeyedInputFormatOperatorFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/UnkeyedInputFormatOperatorFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/UnkeyedInputFormatOperatorFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/UnkeyedInputFormatSourceFunction.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/UnkeyedInputFormatSourceFunction.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/UnkeyedInputFormatSourceFunction.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/UnkeyedInputFormatSourceFunction.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/descriptors/ArcticValidator.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/descriptors/ArcticValidator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/table/descriptors/ArcticValidator.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/table/descriptors/ArcticValidator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/ArcticUtils.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/ArcticUtils.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/ArcticUtils.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/ArcticUtils.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/CompatibleFlinkPropertyUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/CompatibleFlinkPropertyUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/CompatibleFlinkPropertyUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/CompatibleFlinkPropertyUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/DateTimeUtils.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/DateTimeUtils.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/DateTimeUtils.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/DateTimeUtils.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/FilterUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/FilterUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/FilterUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/FilterUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/FlinkClassReflectionUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/FlinkClassReflectionUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/FlinkClassReflectionUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/FlinkClassReflectionUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/IcebergAndFlinkFilters.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/IcebergAndFlinkFilters.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/IcebergAndFlinkFilters.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/IcebergAndFlinkFilters.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/IcebergClassUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/IcebergClassUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/IcebergClassUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/IcebergClassUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/LookupUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/LookupUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/LookupUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/LookupUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/Projection.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/Projection.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/Projection.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/Projection.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/ProxyUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/ProxyUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/ProxyUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/ProxyUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/ReflectionUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/ReflectionUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/ReflectionUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/ReflectionUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/ThreadLocalCache.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/ThreadLocalCache.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/util/ThreadLocalCache.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/util/ThreadLocalCache.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/AdaptHiveFlinkAppenderFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/AdaptHiveFlinkAppenderFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/AdaptHiveFlinkAppenderFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/AdaptHiveFlinkAppenderFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/ArcticFileWriter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/ArcticFileWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/ArcticFileWriter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/ArcticFileWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/ArcticLogWriter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/ArcticLogWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/ArcticLogWriter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/ArcticLogWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/ArcticRowDataTaskWriterFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/ArcticRowDataTaskWriterFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/ArcticRowDataTaskWriterFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/ArcticRowDataTaskWriterFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/ArcticWriter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/ArcticWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/ArcticWriter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/ArcticWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticDoubleWriteStatus.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticDoubleWriteStatus.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticDoubleWriteStatus.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticDoubleWriteStatus.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticLogWriter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticLogWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticLogWriter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticLogWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticWriteSpecification.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticWriteSpecification.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticWriteSpecification.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/AutomaticWriteSpecification.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/FlinkBaseTaskWriter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/FlinkBaseTaskWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/FlinkBaseTaskWriter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/FlinkBaseTaskWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/FlinkChangeTaskWriter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/FlinkChangeTaskWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/FlinkChangeTaskWriter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/FlinkChangeTaskWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/FlinkSink.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/FlinkSink.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/FlinkSink.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/FlinkSink.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/FlinkTaskWriterBuilder.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/FlinkTaskWriterBuilder.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/FlinkTaskWriterBuilder.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/FlinkTaskWriterBuilder.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/AbstractHiddenLogWriter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/AbstractHiddenLogWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/AbstractHiddenLogWriter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/AbstractHiddenLogWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/ArcticLogPartitioner.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/ArcticLogPartitioner.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/ArcticLogPartitioner.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/ArcticLogPartitioner.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/GlobalFlipCommitter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/GlobalFlipCommitter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/GlobalFlipCommitter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/GlobalFlipCommitter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/HiddenLogWriter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/HiddenLogWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/HiddenLogWriter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/HiddenLogWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/LogMsgFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/LogMsgFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/LogMsgFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/LogMsgFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/kafka/HiddenKafkaFactory.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/kafka/HiddenKafkaFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/kafka/HiddenKafkaFactory.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/kafka/HiddenKafkaFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/kafka/HiddenKafkaProducer.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/kafka/HiddenKafkaProducer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/java/org/apache/amoro/flink/write/hidden/kafka/HiddenKafkaProducer.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/java/org/apache/amoro/flink/write/hidden/kafka/HiddenKafkaProducer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/resources/log4j.properties b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/resources/log4j.properties
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/main/resources/log4j.properties
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/main/resources/log4j.properties
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/DynamicTableSourceTestBase.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/DynamicTableSourceTestBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/DynamicTableSourceTestBase.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/DynamicTableSourceTestBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/FlinkTableTestBase.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/FlinkTableTestBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/FlinkTableTestBase.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/FlinkTableTestBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/FlinkTestBase.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/FlinkTestBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/FlinkTestBase.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/FlinkTestBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/TestFlinkSchemaUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/TestFlinkSchemaUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/TestFlinkSchemaUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/TestFlinkSchemaUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkAmoroCatalogITCase.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkAmoroCatalogITCase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkAmoroCatalogITCase.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkAmoroCatalogITCase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkCatalogContext.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkCatalogContext.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkCatalogContext.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkCatalogContext.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkUnifiedCatalogITCase.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkUnifiedCatalogITCase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkUnifiedCatalogITCase.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/FlinkUnifiedCatalogITCase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/TestFlinkUnifiedCatalogs.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/TestFlinkUnifiedCatalogs.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/TestFlinkUnifiedCatalogs.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/TestFlinkUnifiedCatalogs.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/TestMixedCatalog.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/TestMixedCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/TestMixedCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/TestMixedCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/TestMixedCatalogTablePartitions.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/TestMixedCatalogTablePartitions.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/catalog/TestMixedCatalogTablePartitions.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/catalog/TestMixedCatalogTablePartitions.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaConfigGenerate.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaConfigGenerate.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaConfigGenerate.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaConfigGenerate.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaContainerTest.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaContainerTest.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaContainerTest.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaContainerTest.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/KafkaUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/SuccessException.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/SuccessException.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/SuccessException.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/kafka/testutils/SuccessException.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/lookup/ByteArraySetSerializerTest.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/lookup/ByteArraySetSerializerTest.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/lookup/ByteArraySetSerializerTest.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/lookup/ByteArraySetSerializerTest.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/lookup/TestKVTable.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/lookup/TestKVTable.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/lookup/TestKVTable.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/lookup/TestKVTable.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateAllFieldTypes.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateAllFieldTypes.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateAllFieldTypes.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateAllFieldTypes.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateBase.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateBase.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateExpressionVisitor.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateExpressionVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateExpressionVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/lookup/filter/TestRowDataPredicateExpressionVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/TestArcticSource.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/TestArcticSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/TestArcticSource.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/TestArcticSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/TestFlinkSource.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/TestFlinkSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/TestFlinkSource.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/TestFlinkSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/TestFlinkSplitPlanner.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/TestFlinkSplitPlanner.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/TestFlinkSplitPlanner.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/TestFlinkSplitPlanner.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestKafkaConsumer.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestKafkaConsumer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestKafkaConsumer.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestKafkaConsumer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestKafkaSourceReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestKafkaSourceReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestKafkaSourceReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestKafkaSourceReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestLogKafkaPartitionSplitReader.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestLogKafkaPartitionSplitReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestLogKafkaPartitionSplitReader.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hidden/kafka/TestLogKafkaPartitionSplitReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestShuffleSplitAssigner.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestShuffleSplitAssigner.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestShuffleSplitAssigner.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestShuffleSplitAssigner.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestSplitAssignerAwaiting.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestSplitAssignerAwaiting.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestSplitAssignerAwaiting.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestSplitAssignerAwaiting.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestStaticSplitAssigner.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestStaticSplitAssigner.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestStaticSplitAssigner.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/assigner/TestStaticSplitAssigner.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestArcticSourceEnumStateSerializer.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestArcticSourceEnumStateSerializer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestArcticSourceEnumStateSerializer.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestArcticSourceEnumStateSerializer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestArcticSourceEnumerator.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestArcticSourceEnumerator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestArcticSourceEnumerator.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestArcticSourceEnumerator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestContinuousSplitPlannerImpl.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestContinuousSplitPlannerImpl.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestContinuousSplitPlannerImpl.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestContinuousSplitPlannerImpl.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestTemporalJoinSplitsThreadSafe.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestTemporalJoinSplitsThreadSafe.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestTemporalJoinSplitsThreadSafe.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/enumerator/TestTemporalJoinSplitsThreadSafe.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/reader/MixedIncrementalLoaderTest.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/reader/MixedIncrementalLoaderTest.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/reader/MixedIncrementalLoaderTest.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/reader/MixedIncrementalLoaderTest.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/reader/TestRowDataReaderFunction.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/reader/TestRowDataReaderFunction.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/reader/TestRowDataReaderFunction.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/reader/TestRowDataReaderFunction.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/split/TestArcticSplitSerializer.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/split/TestArcticSplitSerializer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/split/TestArcticSplitSerializer.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/read/hybrid/split/TestArcticSplitSerializer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/shuffle/TestLogRecordV1.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/shuffle/TestLogRecordV1.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/shuffle/TestLogRecordV1.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/shuffle/TestLogRecordV1.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/shuffle/TestRoundRobinShuffleRulePolicy.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/shuffle/TestRoundRobinShuffleRulePolicy.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/shuffle/TestRoundRobinShuffleRulePolicy.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/shuffle/TestRoundRobinShuffleRulePolicy.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/AmoroCatalogITCaseBase.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/AmoroCatalogITCaseBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/AmoroCatalogITCaseBase.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/AmoroCatalogITCaseBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/CatalogITCaseBase.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/CatalogITCaseBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/CatalogITCaseBase.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/CatalogITCaseBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/LookupITCase.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/LookupITCase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/LookupITCase.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/LookupITCase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestJoin.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestJoin.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestJoin.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestJoin.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestKeyed.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestKeyed.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestKeyed.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestKeyed.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestLookupSecondary.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestLookupSecondary.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestLookupSecondary.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestLookupSecondary.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestTableRefresh.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestTableRefresh.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestTableRefresh.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestTableRefresh.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestUnkeyed.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestUnkeyed.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestUnkeyed.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestUnkeyed.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestUnkeyedOverwrite.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestUnkeyedOverwrite.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestUnkeyedOverwrite.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestUnkeyedOverwrite.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestWatermark.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestWatermark.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/table/TestWatermark.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/table/TestWatermark.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/ClassLoaderUtils.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/ClassLoaderUtils.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/ClassLoaderUtils.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/ClassLoaderUtils.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/DataUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/DataUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/DataUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/DataUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/MockEnvironmentArctic.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/MockEnvironmentArctic.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/MockEnvironmentArctic.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/MockEnvironmentArctic.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/MockEnvironmentBuilder.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/MockEnvironmentBuilder.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/MockEnvironmentBuilder.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/MockEnvironmentBuilder.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/TestCompatibleFlinkPropertyUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/TestCompatibleFlinkPropertyUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/TestCompatibleFlinkPropertyUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/TestCompatibleFlinkPropertyUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/TestGlobalAggregateManager.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/TestGlobalAggregateManager.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/TestGlobalAggregateManager.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/TestGlobalAggregateManager.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/TestOneInputStreamOperatorIntern.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/TestOneInputStreamOperatorIntern.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/TestOneInputStreamOperatorIntern.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/TestOneInputStreamOperatorIntern.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/TestProjection.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/TestProjection.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/TestProjection.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/TestProjection.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/TestUtil.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/TestUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/util/TestUtil.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/util/TestUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/ArcticFileWriterITCase.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/ArcticFileWriterITCase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/ArcticFileWriterITCase.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/ArcticFileWriterITCase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/FlinkTaskWriterBaseTest.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/FlinkTaskWriterBaseTest.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/FlinkTaskWriterBaseTest.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/FlinkTaskWriterBaseTest.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestAdaptHiveWriter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestAdaptHiveWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestAdaptHiveWriter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestAdaptHiveWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestArcticFileCommitter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestArcticFileCommitter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestArcticFileCommitter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestArcticFileCommitter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestArcticFileWriter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestArcticFileWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestArcticFileWriter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestArcticFileWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestAutomaticDoubleWriteStatus.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestAutomaticDoubleWriteStatus.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestAutomaticDoubleWriteStatus.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestAutomaticDoubleWriteStatus.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestAutomaticLogWriter.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestAutomaticLogWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestAutomaticLogWriter.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestAutomaticLogWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestFlinkSink.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestFlinkSink.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/TestFlinkSink.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/TestFlinkSink.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestBaseLog.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestBaseLog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestBaseLog.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestBaseLog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestHiddenKafkaProducer.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestHiddenKafkaProducer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestHiddenKafkaProducer.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestHiddenKafkaProducer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestHiddenLogOperators.java b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestHiddenLogOperators.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestHiddenLogOperators.java
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/java/org/apache/amoro/flink/write/hidden/kafka/TestHiddenLogOperators.java
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/resources/META-INF/services/org.apache.flink.table.factories.Factory b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/resources/META-INF/services/org.apache.flink.table.factories.Factory
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/resources/META-INF/services/org.apache.flink.table.factories.Factory
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/resources/META-INF/services/org.apache.flink.table.factories.Factory
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/resources/log4j2-test.xml b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/resources/log4j2-test.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/resources/log4j2-test.xml
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/resources/log4j2-test.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/resources/log4j2.component.properties b/amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/resources/log4j2.component.properties
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/flink-common/src/test/resources/log4j2.component.properties
rename to amoro-mixed-format/amoro-mixed-format-flink/amoro-mixed-format-flink-common/src/test/resources/log4j2.component.properties
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/pom.xml b/amoro-mixed-format/amoro-mixed-format-flink/pom.xml
index 4820a1778..45c3cd020 100644
--- a/amoro-mixed-format/amoro-mixed-format-flink/pom.xml
+++ b/amoro-mixed-format/amoro-mixed-format-flink/pom.xml
@@ -34,15 +34,15 @@
<url>https://amoro.apache.org</url>
<modules>
- <module>flink-common</module>
- <module>flink-common-format</module>
- <module>flink-common-iceberg-bridge</module>
- <module>v1.15/flink</module>
- <module>v1.15/flink-runtime</module>
- <module>v1.16/flink</module>
- <module>v1.16/flink-runtime</module>
- <module>v1.17/flink</module>
- <module>v1.17/flink-runtime</module>
+ <module>amoro-mixed-format-flink-common</module>
+ <module>amoro-mixed-format-flink-common-format</module>
+ <module>amoro-mixed-format-flink-common-iceberg-bridge</module>
+ <module>v1.15/amoro-mixed-format-flink-1.15</module>
+ <module>v1.15/amoro-mixed-format-flink-runtime-1.15</module>
+ <module>v1.16/amoro-mixed-format-flink-1.16</module>
+ <module>v1.16/amoro-mixed-format-flink-runtime-1.16</module>
+ <module>v1.17/amoro-mixed-format-flink-1.17</module>
+ <module>v1.17/amoro-mixed-format-flink-runtime-1.17</module>
</modules>
<properties>
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/v1.15/flink/pom.xml b/amoro-mixed-format/amoro-mixed-format-flink/v1.15/amoro-mixed-format-flink-1.15/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/v1.15/flink/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-flink/v1.15/amoro-mixed-format-flink-1.15/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/v1.15/flink-runtime/pom.xml b/amoro-mixed-format/amoro-mixed-format-flink/v1.15/amoro-mixed-format-flink-runtime-1.15/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/v1.15/flink-runtime/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-flink/v1.15/amoro-mixed-format-flink-runtime-1.15/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/v1.16/flink/pom.xml b/amoro-mixed-format/amoro-mixed-format-flink/v1.16/amoro-mixed-format-flink-1.16/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/v1.16/flink/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-flink/v1.16/amoro-mixed-format-flink-1.16/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/v1.16/flink-runtime/pom.xml b/amoro-mixed-format/amoro-mixed-format-flink/v1.16/amoro-mixed-format-flink-runtime-1.16/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/v1.16/flink-runtime/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-flink/v1.16/amoro-mixed-format-flink-runtime-1.16/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/v1.17/flink/pom.xml b/amoro-mixed-format/amoro-mixed-format-flink/v1.17/amoro-mixed-format-flink-1.17/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/v1.17/flink/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-flink/v1.17/amoro-mixed-format-flink-1.17/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-flink/v1.17/flink-runtime/pom.xml b/amoro-mixed-format/amoro-mixed-format-flink/v1.17/amoro-mixed-format-flink-runtime-1.17/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-flink/v1.17/flink-runtime/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-flink/v1.17/amoro-mixed-format-flink-runtime-1.17/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/pom.xml b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SessionCatalogBase.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SessionCatalogBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SessionCatalogBase.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SessionCatalogBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SparkTableFormat.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SparkTableFormat.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SparkTableFormat.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SparkTableFormat.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SparkUnifiedCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SparkUnifiedCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SparkUnifiedCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SparkUnifiedCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SparkUnifiedCatalogProperties.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SparkUnifiedCatalogProperties.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SparkUnifiedCatalogProperties.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SparkUnifiedCatalogProperties.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SparkUnifiedSessionCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SparkUnifiedSessionCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SparkUnifiedSessionCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SparkUnifiedSessionCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SupportAuthentication.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SupportAuthentication.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/SupportAuthentication.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/SupportAuthentication.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/iceberg/IcebergSparkFormat.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/iceberg/IcebergSparkFormat.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/iceberg/IcebergSparkFormat.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/iceberg/IcebergSparkFormat.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/ArcticDataSource.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/ArcticDataSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/ArcticDataSource.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/ArcticDataSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedFormatSparkUtil.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedFormatSparkUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedFormatSparkUtil.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedFormatSparkUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedHiveDataSource.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedHiveDataSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedHiveDataSource.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedHiveDataSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedHiveSparkFormat.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedHiveSparkFormat.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedHiveSparkFormat.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedHiveSparkFormat.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedIcebergDataSource.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedIcebergDataSource.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedIcebergDataSource.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedIcebergDataSource.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedIcebergSparkFormat.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedIcebergSparkFormat.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedIcebergSparkFormat.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedIcebergSparkFormat.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedSessionCatalogBase.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedSessionCatalogBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedSessionCatalogBase.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedSessionCatalogBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedSourceBase.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedSourceBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedSourceBase.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedSourceBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedSparkCatalogBase.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedSparkCatalogBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedSparkCatalogBase.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedSparkCatalogBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedTableStoreType.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedTableStoreType.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/MixedTableStoreType.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/MixedTableStoreType.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/SparkSQLProperties.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/SparkSQLProperties.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/mixed/SparkSQLProperties.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/mixed/SparkSQLProperties.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/paimon/PaimonSparkFormat.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/paimon/PaimonSparkFormat.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/paimon/PaimonSparkFormat.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/paimon/PaimonSparkFormat.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/util/SparkUtil.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/util/SparkUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/java/org/apache/amoro/spark/util/SparkUtil.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/java/org/apache/amoro/spark/util/SparkUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/resources/META-INF/services/org.apache.amoro.spark.SparkTableFormat b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/resources/META-INF/services/org.apache.amoro.spark.SparkTableFormat
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/resources/META-INF/services/org.apache.amoro.spark.SparkTableFormat
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/resources/META-INF/services/org.apache.amoro.spark.SparkTableFormat
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/MixedTableTestBase.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/MixedTableTestBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/MixedTableTestBase.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/MixedTableTestBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/SparkTestBase.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/SparkTestBase.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/SparkTestBase.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/SparkTestBase.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/SparkTestContext.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/SparkTestContext.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/SparkTestContext.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/SparkTestContext.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/TestIdentifier.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/TestIdentifier.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/TestIdentifier.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/TestIdentifier.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/extensions/DefaultParameterContext.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/extensions/DefaultParameterContext.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/extensions/DefaultParameterContext.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/extensions/DefaultParameterContext.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/extensions/EachParameterResolver.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/extensions/EachParameterResolver.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/extensions/EachParameterResolver.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/extensions/EachParameterResolver.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/extensions/EnableCatalogSelect.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/extensions/EnableCatalogSelect.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/extensions/EnableCatalogSelect.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/extensions/EnableCatalogSelect.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/extensions/EnableCatalogSelectExtension.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/extensions/EnableCatalogSelectExtension.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/extensions/EnableCatalogSelectExtension.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/extensions/EnableCatalogSelectExtension.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/unified/UnifiedCatalogTestSuites.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/unified/UnifiedCatalogTestSuites.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/unified/UnifiedCatalogTestSuites.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/unified/UnifiedCatalogTestSuites.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/Asserts.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/Asserts.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/Asserts.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/Asserts.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/DataComparator.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/DataComparator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/DataComparator.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/DataComparator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/ExpectResultUtil.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/ExpectResultUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/ExpectResultUtil.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/ExpectResultUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/RecordGenerator.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/RecordGenerator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/RecordGenerator.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/RecordGenerator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/ResourceInputFile.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/ResourceInputFile.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/ResourceInputFile.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/ResourceInputFile.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/ScalaTestUtil.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/ScalaTestUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/ScalaTestUtil.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/ScalaTestUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/TableFiles.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/TableFiles.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/TableFiles.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/TableFiles.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/TestTable.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/TestTable.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/TestTable.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/TestTable.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/TestTableUtil.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/TestTableUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/TestTableUtil.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/TestTableUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/TestTables.java b/amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/TestTables.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/common/src/test/java/org/apache/amoro/spark/test/utils/TestTables.java
rename to amoro-mixed-format/amoro-mixed-format-spark/amoro-mixed-format-spark-3-common/src/test/java/org/apache/amoro/spark/test/utils/TestTables.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/pom.xml b/amoro-mixed-format/amoro-mixed-format-spark/pom.xml
index 07d472bb4..018697ae3 100644
--- a/amoro-mixed-format/amoro-mixed-format-spark/pom.xml
+++ b/amoro-mixed-format/amoro-mixed-format-spark/pom.xml
@@ -32,10 +32,10 @@
<url>https://amoro.apache.org</url>
<modules>
- <module>common</module>
- <module>v3.2/spark</module>
- <module>v3.2/spark-runtime</module>
- <module>v3.3/spark</module>
- <module>v3.3/spark-runtime</module>
+ <module>amoro-mixed-format-spark-3-common</module>
+ <module>v3.2/amoro-mixed-format-spark-3.2</module>
+ <module>v3.2/amoro-mixed-format-spark-3.2-runtime</module>
+ <module>v3.3/amoro-mixed-format-spark-3.3</module>
+ <module>v3.3/amoro-mixed-format-spark-3.3-runtime</module>
</modules>
</project>
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark-runtime/pom.xml b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2-runtime/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark-runtime/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2-runtime/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/pom.xml b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlCommand.g4 b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlCommand.g4
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlCommand.g4
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlCommand.g4
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlExtend.g4 b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlExtend.g4
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlExtend.g4
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlExtend.g4
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/.gitignore b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/.gitignore
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/.gitignore
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/.gitignore
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseListener.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseListener.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseListener.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseListener.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseVisitor.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandLexer.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandLexer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandLexer.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandLexer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandListener.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandListener.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandListener.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandListener.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandParser.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandParser.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandParser.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandParser.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandVisitor.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseListener.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseListener.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseListener.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseListener.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseVisitor.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendLexer.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendLexer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendLexer.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendLexer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendListener.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendListener.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendListener.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendListener.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendParser.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendParser.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendParser.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendParser.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendVisitor.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/ArcticSparkCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/ArcticSparkCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/ArcticSparkCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/ArcticSparkCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/ArcticSparkSessionCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/ArcticSparkSessionCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/ArcticSparkSessionCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/ArcticSparkSessionCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/Spark32Adapter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/Spark32Adapter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/Spark32Adapter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/Spark32Adapter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/SparkAdapter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/SparkAdapter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/SparkAdapter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/SparkAdapter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/SparkAdapterLoader.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/SparkAdapterLoader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/SparkAdapterLoader.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/SparkAdapterLoader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/SparkInternalRowCastWrapper.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/SparkInternalRowCastWrapper.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/SparkInternalRowCastWrapper.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/SparkInternalRowCastWrapper.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/SparkInternalRowWrapper.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/SparkInternalRowWrapper.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/SparkInternalRowWrapper.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/SparkInternalRowWrapper.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/command/ArcticSparkCommand.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/command/ArcticSparkCommand.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/command/ArcticSparkCommand.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/command/ArcticSparkCommand.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/command/MigrateToArcticCommand.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/command/MigrateToArcticCommand.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/command/MigrateToArcticCommand.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/command/MigrateToArcticCommand.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/io/ArcticSparkBaseTaskWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/io/ArcticSparkBaseTaskWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/io/ArcticSparkBaseTaskWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/io/ArcticSparkBaseTaskWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/io/ArcticSparkChangeTaskWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/io/ArcticSparkChangeTaskWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/io/ArcticSparkChangeTaskWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/io/ArcticSparkChangeTaskWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/io/InternalRowFileAppenderFactory.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/io/InternalRowFileAppenderFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/io/InternalRowFileAppenderFactory.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/io/InternalRowFileAppenderFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/io/TaskWriters.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/io/TaskWriters.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/io/TaskWriters.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/io/TaskWriters.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/io/UnkeyedUpsertSparkWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/io/UnkeyedUpsertSparkWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/io/UnkeyedUpsertSparkWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/io/UnkeyedUpsertSparkWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/ArcticSparkKeyedDataReader.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/ArcticSparkKeyedDataReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/ArcticSparkKeyedDataReader.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/ArcticSparkKeyedDataReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/ArcticSparkUnkeyedDataReader.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/ArcticSparkUnkeyedDataReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/ArcticSparkUnkeyedDataReader.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/ArcticSparkUnkeyedDataReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/KeyedSparkBatchScan.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/KeyedSparkBatchScan.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/KeyedSparkBatchScan.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/KeyedSparkBatchScan.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/SparkParquetReaders.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/SparkParquetReaders.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/SparkParquetReaders.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/SparkParquetReaders.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/SparkScanBuilder.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/SparkScanBuilder.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/SparkScanBuilder.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/SparkScanBuilder.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/UnkeyedSparkBatchScan.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/UnkeyedSparkBatchScan.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/reader/UnkeyedSparkBatchScan.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/reader/UnkeyedSparkBatchScan.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/sql/catalyst/parser/ArcticCommandAstParser.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/sql/catalyst/parser/ArcticCommandAstParser.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/sql/catalyst/parser/ArcticCommandAstParser.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/sql/catalyst/parser/ArcticCommandAstParser.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/sql/connector/expressions/FileIndexBucket.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/sql/connector/expressions/FileIndexBucket.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/sql/connector/expressions/FileIndexBucket.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/sql/connector/expressions/FileIndexBucket.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/table/ArcticIcebergSparkTable.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/table/ArcticIcebergSparkTable.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/table/ArcticIcebergSparkTable.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/table/ArcticIcebergSparkTable.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/table/ArcticSparkChangeTable.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/table/ArcticSparkChangeTable.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/table/ArcticSparkChangeTable.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/table/ArcticSparkChangeTable.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/table/ArcticSparkTable.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/table/ArcticSparkTable.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/table/ArcticSparkTable.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/table/ArcticSparkTable.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/table/SupportsExtendIdentColumns.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/table/SupportsExtendIdentColumns.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/table/SupportsExtendIdentColumns.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/table/SupportsExtendIdentColumns.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/table/SupportsRowLevelOperator.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/table/SupportsRowLevelOperator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/table/SupportsRowLevelOperator.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/table/SupportsRowLevelOperator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/util/ArcticSparkUtils.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/util/ArcticSparkUtils.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/util/ArcticSparkUtils.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/util/ArcticSparkUtils.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/util/DistributionAndOrderingUtil.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/util/DistributionAndOrderingUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/util/DistributionAndOrderingUtil.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/util/DistributionAndOrderingUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/util/ExpressionHelper.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/util/ExpressionHelper.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/util/ExpressionHelper.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/util/ExpressionHelper.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/util/SortOrderToSpark.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/util/SortOrderToSpark.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/util/SortOrderToSpark.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/util/SortOrderToSpark.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/util/Stats.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/util/Stats.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/util/Stats.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/util/Stats.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/ArcticSparkWriteBuilder.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/ArcticSparkWriteBuilder.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/ArcticSparkWriteBuilder.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/ArcticSparkWriteBuilder.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/KeyedSparkBatchWrite.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/KeyedSparkBatchWrite.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/KeyedSparkBatchWrite.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/KeyedSparkBatchWrite.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/RowLevelWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/RowLevelWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/RowLevelWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/RowLevelWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/SimpleInternalRowDataWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/SimpleInternalRowDataWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/SimpleInternalRowDataWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/SimpleInternalRowDataWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/SimpleRowLevelDataWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/SimpleRowLevelDataWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/SimpleRowLevelDataWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/SimpleRowLevelDataWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/UnkeyedSparkBatchWrite.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/UnkeyedSparkBatchWrite.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/UnkeyedSparkBatchWrite.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/UnkeyedSparkBatchWrite.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/WriteMode.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/WriteMode.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/WriteMode.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/WriteMode.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/WriteTaskCommit.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/WriteTaskCommit.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/amoro/spark/writer/WriteTaskCommit.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/amoro/spark/writer/WriteTaskCommit.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/iceberg/spark/data/AdaptHiveParquetWithSparkSchemaVisitor.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/iceberg/spark/data/AdaptHiveParquetWithSparkSchemaVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/iceberg/spark/data/AdaptHiveParquetWithSparkSchemaVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/iceberg/spark/data/AdaptHiveParquetWithSparkSchemaVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/iceberg/spark/data/AdaptHiveSparkParquetWriters.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/iceberg/spark/data/AdaptHiveSparkParquetWriters.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/java/org/apache/iceberg/spark/data/AdaptHiveSparkParquetWriters.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/java/org/apache/iceberg/spark/data/AdaptHiveSparkParquetWriters.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/ArcticSparkExtensions.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/ArcticSparkExtensions.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/ArcticSparkExtensions.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/ArcticSparkExtensions.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/SupportSparkAdapter.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/SupportSparkAdapter.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/SupportSparkAdapter.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/SupportSparkAdapter.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/ArcticExtensionUtils.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/ArcticExtensionUtils.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/ArcticExtensionUtils.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/ArcticExtensionUtils.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/QueryWithConstraintCheck.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/QueryWithConstraintCheck.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/QueryWithConstraintCheck.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/QueryWithConstraintCheck.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveArcticCommand.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveArcticCommand.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveArcticCommand.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveArcticCommand.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveMergeIntoArcticTableReferences.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveMergeIntoArcticTableReferences.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveMergeIntoArcticTableReferences.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveMergeIntoArcticTableReferences.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticCommand.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticCommand.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticCommand.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticCommand.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticMergeIntoTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticMergeIntoTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticMergeIntoTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticMergeIntoTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/OptimizeWriteRule.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/OptimizeWriteRule.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/OptimizeWriteRule.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/OptimizeWriteRule.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteAppendArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteAppendArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteAppendArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteAppendArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteDeleteFromArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteDeleteFromArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteDeleteFromArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteDeleteFromArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteUpdateArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteUpdateArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteUpdateArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteUpdateArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticParserUtils.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticParserUtils.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticParserUtils.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticParserUtils.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticSqlExtensionsParser.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticSqlExtensionsParser.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticSqlExtensionsParser.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticSqlExtensionsParser.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/AlterArcticTableDropPartition.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/AlterArcticTableDropPartition.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/AlterArcticTableDropPartition.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/AlterArcticTableDropPartition.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/ArcticRowLevelWrite.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/ArcticRowLevelWrite.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/ArcticRowLevelWrite.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/ArcticRowLevelWrite.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeIntoArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeIntoArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeIntoArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeIntoArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeRows.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeRows.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeRows.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeRows.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/QueryWithConstraintCheckPlan.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/QueryWithConstraintCheckPlan.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/QueryWithConstraintCheckPlan.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/QueryWithConstraintCheckPlan.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/TruncateArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/TruncateArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/TruncateArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/TruncateArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/UnresolvedMergeIntoArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/UnresolvedMergeIntoArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/UnresolvedMergeIntoArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/UnresolvedMergeIntoArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/logicals.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/logicals.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/logicals.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/logicals.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/statements.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/statements.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/statements.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/statements.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/AlterArcticTableDropPartitionExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/AlterArcticTableDropPartitionExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/AlterArcticTableDropPartitionExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/AlterArcticTableDropPartitionExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticCommandExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticCommandExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticCommandExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticCommandExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticRowLevelWriteExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticRowLevelWriteExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticRowLevelWriteExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticRowLevelWriteExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/DescribeKeyedTableExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/DescribeKeyedTableExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/DescribeKeyedTableExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/DescribeKeyedTableExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ExtendedArcticStrategy.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/ExtendedArcticStrategy.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ExtendedArcticStrategy.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/ExtendedArcticStrategy.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/MergeRowsExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/MergeRowsExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/MergeRowsExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/MergeRowsExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/QueryWithConstraintCheckExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/QueryWithConstraintCheckExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/QueryWithConstraintCheckExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/QueryWithConstraintCheckExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/TruncateArcticTableExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/TruncateArcticTableExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/execution/TruncateArcticTableExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/execution/TruncateArcticTableExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/utils/ArcticRewriteHelper.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/utils/ArcticRewriteHelper.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/utils/ArcticRewriteHelper.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/utils/ArcticRewriteHelper.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/utils/ProjectingInternalRow.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/utils/ProjectingInternalRow.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/utils/ProjectingInternalRow.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/utils/ProjectingInternalRow.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/utils/RowDeltaUtils.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/utils/RowDeltaUtils.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/utils/RowDeltaUtils.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/utils/RowDeltaUtils.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/utils/WriteQueryProjections.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/utils/WriteQueryProjections.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/utils/WriteQueryProjections.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/utils/WriteQueryProjections.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/utils/expressions.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/utils/expressions.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/amoro/spark/sql/utils/expressions.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/amoro/spark/sql/utils/expressions.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/spark/sql/amoro/catalyst/ArcticSpark32Helper.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/spark/sql/amoro/catalyst/ArcticSpark32Helper.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/spark/sql/amoro/catalyst/ArcticSpark32Helper.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/spark/sql/amoro/catalyst/ArcticSpark32Helper.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/spark/sql/amoro/catalyst/ExpressionHelper.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/spark/sql/amoro/catalyst/ExpressionHelper.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/spark/sql/amoro/catalyst/ExpressionHelper.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/spark/sql/amoro/catalyst/ExpressionHelper.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/spark/sql/amoro/parser/ArcticSqlExtendAstBuilder.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/spark/sql/amoro/parser/ArcticSqlExtendAstBuilder.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/spark/sql/amoro/parser/ArcticSqlExtendAstBuilder.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/spark/sql/amoro/parser/ArcticSqlExtendAstBuilder.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/spark/sql/amoro/parser/QueryParsingErrors.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/spark/sql/amoro/parser/QueryParsingErrors.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/main/scala/org/apache/spark/sql/amoro/parser/QueryParsingErrors.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/main/scala/org/apache/spark/sql/amoro/parser/QueryParsingErrors.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/TestUnifiedCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/TestUnifiedCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/TestUnifiedCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/TestUnifiedCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/TestImpalaParquet.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/TestImpalaParquet.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/TestImpalaParquet.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/TestImpalaParquet.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/api/TestKeyedTableDataFrameAPI.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/api/TestKeyedTableDataFrameAPI.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/api/TestKeyedTableDataFrameAPI.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/api/TestKeyedTableDataFrameAPI.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/api/TestUnKeyedTableDataFrameAPI.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/api/TestUnKeyedTableDataFrameAPI.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/api/TestUnKeyedTableDataFrameAPI.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/api/TestUnKeyedTableDataFrameAPI.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/catalog/TestSessionCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/catalog/TestSessionCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/catalog/TestSessionCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/catalog/TestSessionCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestAlterTableColumnSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestAlterTableColumnSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestAlterTableColumnSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestAlterTableColumnSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticCommandSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticCommandSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticCommandSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticCommandSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticSessionCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticSessionCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticSessionCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticSessionCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableAsSelect.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableAsSelect.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableAsSelect.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableAsSelect.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableLikeSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableLikeSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableLikeSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableLikeSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDeleteFromSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDeleteFromSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDeleteFromSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDeleteFromSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDescSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDescSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDescSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDescSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDropPartitionSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDropPartitionSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDropPartitionSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDropPartitionSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertIntoSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertIntoSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertIntoSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertIntoSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertOverwriteSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertOverwriteSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertOverwriteSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertOverwriteSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestMergeIntoSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestMergeIntoSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestMergeIntoSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestMergeIntoSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestSelectSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestSelectSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestSelectSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestSelectSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestTruncateSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestTruncateSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestTruncateSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestTruncateSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestUpdateSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestUpdateSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestUpdateSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/sql/TestUpdateSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/ut/sql/parser/TestSqlExtendParser.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/ut/sql/parser/TestSqlExtendParser.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/test/suites/ut/sql/parser/TestSqlExtendParser.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/test/suites/ut/sql/parser/TestSqlExtendParser.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/writer/TestMixedWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/writer/TestMixedWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/java/org/apache/amoro/spark/writer/TestMixedWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/java/org/apache/amoro/spark/writer/TestMixedWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/resources/log4j2.properties b/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/resources/log4j2.properties
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.2/spark/src/test/resources/log4j2.properties
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2/src/test/resources/log4j2.properties
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark-runtime/pom.xml b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3-runtime/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark-runtime/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3-runtime/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/pom.xml b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/pom.xml
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/pom.xml
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/pom.xml
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlCommand.g4 b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlCommand.g4
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlCommand.g4
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlCommand.g4
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlExtend.g4 b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlExtend.g4
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlExtend.g4
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/antlr4/org/apache/amoro/spark/sql/parser/ArcticSqlExtend.g4
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/.gitignore b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/.gitignore
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/.gitignore
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/.gitignore
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseListener.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseListener.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseListener.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseListener.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseVisitor.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandBaseVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandLexer.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandLexer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandLexer.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandLexer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandListener.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandListener.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandListener.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandListener.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandParser.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandParser.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandParser.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandParser.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandVisitor.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlCommandVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseListener.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseListener.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseListener.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseListener.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseVisitor.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendBaseVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendLexer.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendLexer.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendLexer.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendLexer.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendListener.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendListener.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendListener.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendListener.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendParser.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendParser.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendParser.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendParser.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendVisitor.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/gen-antlr/org/apache/amoro/spark/sql/parser/ArcticSqlExtendVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/ArcticSparkCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/ArcticSparkCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/ArcticSparkCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/ArcticSparkCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/ArcticSparkSessionCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/ArcticSparkSessionCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/ArcticSparkSessionCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/ArcticSparkSessionCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/Spark33Adapter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/Spark33Adapter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/Spark33Adapter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/Spark33Adapter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/SparkAdapter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/SparkAdapter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/SparkAdapter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/SparkAdapter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/SparkAdapterLoader.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/SparkAdapterLoader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/SparkAdapterLoader.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/SparkAdapterLoader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/SparkInternalRowCastWrapper.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/SparkInternalRowCastWrapper.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/SparkInternalRowCastWrapper.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/SparkInternalRowCastWrapper.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/SparkInternalRowWrapper.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/SparkInternalRowWrapper.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/SparkInternalRowWrapper.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/SparkInternalRowWrapper.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/command/ArcticSparkCommand.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/command/ArcticSparkCommand.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/command/ArcticSparkCommand.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/command/ArcticSparkCommand.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/command/MigrateToArcticCommand.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/command/MigrateToArcticCommand.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/command/MigrateToArcticCommand.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/command/MigrateToArcticCommand.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/io/ArcticSparkBaseTaskWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/io/ArcticSparkBaseTaskWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/io/ArcticSparkBaseTaskWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/io/ArcticSparkBaseTaskWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/io/ArcticSparkChangeTaskWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/io/ArcticSparkChangeTaskWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/io/ArcticSparkChangeTaskWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/io/ArcticSparkChangeTaskWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/io/InternalRowFileAppenderFactory.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/io/InternalRowFileAppenderFactory.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/io/InternalRowFileAppenderFactory.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/io/InternalRowFileAppenderFactory.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/io/TaskWriters.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/io/TaskWriters.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/io/TaskWriters.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/io/TaskWriters.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/io/UnkeyedUpsertSparkWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/io/UnkeyedUpsertSparkWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/io/UnkeyedUpsertSparkWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/io/UnkeyedUpsertSparkWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/ArcticSparkKeyedDataReader.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/ArcticSparkKeyedDataReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/ArcticSparkKeyedDataReader.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/ArcticSparkKeyedDataReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/ArcticSparkUnkeyedDataReader.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/ArcticSparkUnkeyedDataReader.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/ArcticSparkUnkeyedDataReader.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/ArcticSparkUnkeyedDataReader.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/KeyedSparkBatchScan.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/KeyedSparkBatchScan.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/KeyedSparkBatchScan.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/KeyedSparkBatchScan.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/SparkParquetReaders.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/SparkParquetReaders.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/SparkParquetReaders.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/SparkParquetReaders.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/SparkScanBuilder.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/SparkScanBuilder.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/SparkScanBuilder.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/SparkScanBuilder.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/UnkeyedSparkBatchScan.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/UnkeyedSparkBatchScan.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/reader/UnkeyedSparkBatchScan.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/reader/UnkeyedSparkBatchScan.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/sql/catalyst/parser/ArcticCommandAstParser.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/sql/catalyst/parser/ArcticCommandAstParser.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/sql/catalyst/parser/ArcticCommandAstParser.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/sql/catalyst/parser/ArcticCommandAstParser.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/sql/connector/expressions/FileIndexBucket.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/sql/connector/expressions/FileIndexBucket.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/sql/connector/expressions/FileIndexBucket.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/sql/connector/expressions/FileIndexBucket.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/table/ArcticIcebergSparkTable.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/table/ArcticIcebergSparkTable.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/table/ArcticIcebergSparkTable.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/table/ArcticIcebergSparkTable.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/table/ArcticSparkChangeTable.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/table/ArcticSparkChangeTable.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/table/ArcticSparkChangeTable.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/table/ArcticSparkChangeTable.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/table/ArcticSparkTable.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/table/ArcticSparkTable.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/table/ArcticSparkTable.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/table/ArcticSparkTable.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/table/SupportsExtendIdentColumns.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/table/SupportsExtendIdentColumns.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/table/SupportsExtendIdentColumns.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/table/SupportsExtendIdentColumns.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/table/SupportsRowLevelOperator.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/table/SupportsRowLevelOperator.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/table/SupportsRowLevelOperator.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/table/SupportsRowLevelOperator.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/util/ArcticSparkUtils.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/util/ArcticSparkUtils.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/util/ArcticSparkUtils.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/util/ArcticSparkUtils.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/util/DistributionAndOrderingUtil.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/util/DistributionAndOrderingUtil.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/util/DistributionAndOrderingUtil.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/util/DistributionAndOrderingUtil.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/util/ExpressionHelper.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/util/ExpressionHelper.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/util/ExpressionHelper.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/util/ExpressionHelper.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/util/SortOrderToSpark.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/util/SortOrderToSpark.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/util/SortOrderToSpark.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/util/SortOrderToSpark.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/util/Stats.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/util/Stats.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/util/Stats.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/util/Stats.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/ArcticSparkWriteBuilder.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/ArcticSparkWriteBuilder.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/ArcticSparkWriteBuilder.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/ArcticSparkWriteBuilder.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/KeyedSparkBatchWrite.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/KeyedSparkBatchWrite.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/KeyedSparkBatchWrite.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/KeyedSparkBatchWrite.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/RowLevelWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/RowLevelWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/RowLevelWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/RowLevelWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/SimpleInternalRowDataWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/SimpleInternalRowDataWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/SimpleInternalRowDataWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/SimpleInternalRowDataWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/SimpleRowLevelDataWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/SimpleRowLevelDataWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/SimpleRowLevelDataWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/SimpleRowLevelDataWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/UnkeyedSparkBatchWrite.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/UnkeyedSparkBatchWrite.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/UnkeyedSparkBatchWrite.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/UnkeyedSparkBatchWrite.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/WriteMode.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/WriteMode.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/WriteMode.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/WriteMode.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/WriteTaskCommit.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/WriteTaskCommit.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/amoro/spark/writer/WriteTaskCommit.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/amoro/spark/writer/WriteTaskCommit.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/data/AdaptHiveParquetWithSparkSchemaVisitor.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/iceberg/spark/data/AdaptHiveParquetWithSparkSchemaVisitor.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/data/AdaptHiveParquetWithSparkSchemaVisitor.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/iceberg/spark/data/AdaptHiveParquetWithSparkSchemaVisitor.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/data/AdaptHiveSparkParquetWriters.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/iceberg/spark/data/AdaptHiveSparkParquetWriters.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/java/org/apache/iceberg/spark/data/AdaptHiveSparkParquetWriters.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/java/org/apache/iceberg/spark/data/AdaptHiveSparkParquetWriters.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/ArcticSparkExtensions.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/ArcticSparkExtensions.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/ArcticSparkExtensions.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/ArcticSparkExtensions.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/SupportSparkAdapter.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/SupportSparkAdapter.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/SupportSparkAdapter.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/SupportSparkAdapter.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/ArcticExtensionUtils.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/ArcticExtensionUtils.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/ArcticExtensionUtils.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/ArcticExtensionUtils.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/QueryWithConstraintCheck.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/QueryWithConstraintCheck.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/QueryWithConstraintCheck.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/QueryWithConstraintCheck.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveArcticCommand.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveArcticCommand.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveArcticCommand.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveArcticCommand.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveMergeIntoArcticTableReferences.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveMergeIntoArcticTableReferences.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveMergeIntoArcticTableReferences.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/ResolveMergeIntoArcticTableReferences.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticCommand.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticCommand.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticCommand.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticCommand.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticMergeIntoTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticMergeIntoTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticMergeIntoTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/analysis/RewriteArcticMergeIntoTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/OptimizeWriteRule.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/OptimizeWriteRule.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/OptimizeWriteRule.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/OptimizeWriteRule.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteAppendArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteAppendArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteAppendArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteAppendArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteDeleteFromArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteDeleteFromArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteDeleteFromArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteDeleteFromArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteUpdateArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteUpdateArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteUpdateArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/optimize/RewriteUpdateArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticParserUtils.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticParserUtils.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticParserUtils.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticParserUtils.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticSqlExtensionsParser.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticSqlExtensionsParser.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticSqlExtensionsParser.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/ArcticSqlExtensionsParser.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/AlterArcticTableDropPartition.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/AlterArcticTableDropPartition.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/AlterArcticTableDropPartition.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/AlterArcticTableDropPartition.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/ArcticRowLevelWrite.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/ArcticRowLevelWrite.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/ArcticRowLevelWrite.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/ArcticRowLevelWrite.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeIntoArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeIntoArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeIntoArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeIntoArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeRows.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeRows.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeRows.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/MergeRows.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/QueryWithConstraintCheckPlan.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/QueryWithConstraintCheckPlan.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/QueryWithConstraintCheckPlan.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/QueryWithConstraintCheckPlan.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/TruncateArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/TruncateArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/TruncateArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/TruncateArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/UnresolvedMergeIntoArcticTable.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/UnresolvedMergeIntoArcticTable.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/UnresolvedMergeIntoArcticTable.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/UnresolvedMergeIntoArcticTable.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/logicals.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/logicals.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/logicals.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/logicals.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/statements.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/statements.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/statements.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/plans/statements.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/AlterArcticTableDropPartitionExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/AlterArcticTableDropPartitionExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/AlterArcticTableDropPartitionExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/AlterArcticTableDropPartitionExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticCommandExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticCommandExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticCommandExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticCommandExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticRowLevelWriteExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticRowLevelWriteExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticRowLevelWriteExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/ArcticRowLevelWriteExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/DescribeKeyedTableExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/DescribeKeyedTableExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/DescribeKeyedTableExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/DescribeKeyedTableExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ExtendedArcticStrategy.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/ExtendedArcticStrategy.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/ExtendedArcticStrategy.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/ExtendedArcticStrategy.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/MergeRowsExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/MergeRowsExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/MergeRowsExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/MergeRowsExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/QueryWithConstraintCheckExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/QueryWithConstraintCheckExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/QueryWithConstraintCheckExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/QueryWithConstraintCheckExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/TruncateArcticTableExec.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/TruncateArcticTableExec.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/execution/TruncateArcticTableExec.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/execution/TruncateArcticTableExec.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/utils/ArcticRewriteHelper.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/utils/ArcticRewriteHelper.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/utils/ArcticRewriteHelper.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/utils/ArcticRewriteHelper.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/utils/ProjectingInternalRow.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/utils/ProjectingInternalRow.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/utils/ProjectingInternalRow.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/utils/ProjectingInternalRow.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/utils/RowDeltaUtils.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/utils/RowDeltaUtils.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/utils/RowDeltaUtils.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/utils/RowDeltaUtils.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/utils/WriteQueryProjections.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/utils/WriteQueryProjections.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/utils/WriteQueryProjections.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/utils/WriteQueryProjections.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/utils/expressions.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/utils/expressions.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/amoro/spark/sql/utils/expressions.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/utils/expressions.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/spark/sql/amoro/catalyst/ArcticSpark33Helper.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/spark/sql/amoro/catalyst/ArcticSpark33Helper.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/spark/sql/amoro/catalyst/ArcticSpark33Helper.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/spark/sql/amoro/catalyst/ArcticSpark33Helper.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/spark/sql/amoro/catalyst/AssignmentHelper.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/spark/sql/amoro/catalyst/AssignmentHelper.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/spark/sql/amoro/catalyst/AssignmentHelper.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/spark/sql/amoro/catalyst/AssignmentHelper.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/spark/sql/amoro/catalyst/ExpressionHelper.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/spark/sql/amoro/catalyst/ExpressionHelper.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/spark/sql/amoro/catalyst/ExpressionHelper.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/spark/sql/amoro/catalyst/ExpressionHelper.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/spark/sql/amoro/parser/ArcticSqlExtendAstBuilder.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/spark/sql/amoro/parser/ArcticSqlExtendAstBuilder.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/spark/sql/amoro/parser/ArcticSqlExtendAstBuilder.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/spark/sql/amoro/parser/ArcticSqlExtendAstBuilder.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/spark/sql/amoro/parser/QueryParsingErrors.scala b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/spark/sql/amoro/parser/QueryParsingErrors.scala
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/main/scala/org/apache/spark/sql/amoro/parser/QueryParsingErrors.scala
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/main/scala/org/apache/spark/sql/amoro/parser/QueryParsingErrors.scala
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/TestUnifiedCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/TestUnifiedCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/TestUnifiedCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/TestUnifiedCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/TestImpalaParquet.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/TestImpalaParquet.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/TestImpalaParquet.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/TestImpalaParquet.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/api/TestKeyedTableDataFrameAPI.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/api/TestKeyedTableDataFrameAPI.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/api/TestKeyedTableDataFrameAPI.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/api/TestKeyedTableDataFrameAPI.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/api/TestUnKeyedTableDataFrameAPI.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/api/TestUnKeyedTableDataFrameAPI.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/api/TestUnKeyedTableDataFrameAPI.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/api/TestUnKeyedTableDataFrameAPI.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/catalog/TestSessionCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/catalog/TestSessionCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/catalog/TestSessionCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/catalog/TestSessionCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestAlterTableColumnSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestAlterTableColumnSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestAlterTableColumnSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestAlterTableColumnSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticCommandSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticCommandSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticCommandSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticCommandSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticSessionCatalog.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticSessionCatalog.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticSessionCatalog.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestArcticSessionCatalog.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableAsSelect.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableAsSelect.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableAsSelect.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableAsSelect.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableLikeSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableLikeSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableLikeSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableLikeSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestCreateTableSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDeleteFromSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDeleteFromSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDeleteFromSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDeleteFromSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDescSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDescSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDescSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDescSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDropPartitionSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDropPartitionSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDropPartitionSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestDropPartitionSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertIntoSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertIntoSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertIntoSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertIntoSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertOverwriteSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertOverwriteSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertOverwriteSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestInsertOverwriteSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestMergeIntoSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestMergeIntoSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestMergeIntoSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestMergeIntoSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestSelectSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestSelectSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestSelectSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestSelectSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestTruncateSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestTruncateSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestTruncateSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestTruncateSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestUpdateSQL.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestUpdateSQL.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/sql/TestUpdateSQL.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/sql/TestUpdateSQL.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/ut/sql/parser/TestSqlExtendParser.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/ut/sql/parser/TestSqlExtendParser.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/test/suites/ut/sql/parser/TestSqlExtendParser.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/test/suites/ut/sql/parser/TestSqlExtendParser.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/writer/TestMixedWriter.java b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/writer/TestMixedWriter.java
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/java/org/apache/amoro/spark/writer/TestMixedWriter.java
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/java/org/apache/amoro/spark/writer/TestMixedWriter.java
diff --git a/amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/resources/log4j2.properties b/amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/resources/log4j2.properties
similarity index 100%
rename from amoro-mixed-format/amoro-mixed-format-spark/v3.3/spark/src/test/resources/log4j2.properties
rename to amoro-mixed-format/amoro-mixed-format-spark/v3.3/amoro-mixed-format-spark-3.3/src/test/resources/log4j2.properties
diff --git a/docs/admin-guides/deployment.md b/docs/admin-guides/deployment.md
index 9eb73a6cc..5c4efb46c 100644
--- a/docs/admin-guides/deployment.md
+++ b/docs/admin-guides/deployment.md
@@ -35,8 +35,8 @@ You can build based on the master branch without compiling Trino. The compilatio
git clone https://github.com/apache/amoro.git
cd amoro
base_dir=$(pwd)
-mvn clean package -DskipTests -pl '!mixed-format/trino'
-cd ams/dist/target/
+mvn clean package -DskipTests -pl '!amoro-mixed-format/amoro-mixed-format-trino'
+cd amoro-ams/dist/target/
ls
amoro-x.y.z-bin.zip # AMS release package
dist-x.y.z-tests.jar
@@ -44,14 +44,14 @@ dist-x.y.z.jar
archive-tmp/
maven-archiver/
-cd ${base_dir}/mixed-format/flink/v1.15/flink-runtime/target
+cd ${base_dir}/amoro-mixed-format/amoro-mixed-format-flink/v1.15/amoro-mixed-format-flink-runtime-1.15/target
ls
amoro-mixed-format-flink-runtime-1.15-x.y.z-tests.jar
amoro-mixed-format-flink-runtime-1.15-x.y.z.jar # Flink 1.15 runtime package
original-amoro-mixed-format-flink-runtime-1.15-x.y.z.jar
maven-archiver/
-cd ${base_dir}/mixed-format/spark/v3.2/spark-runtime/target
+cd ${base_dir}/amoro-mixed-format/amoro-mixed-format-spark/v3.2/amoro-mixed-format-spark-3.2-runtime/target
ls
amoro-mixed-format-spark-3.2-runtime-x.y.z.jar # Spark v3.2 runtime package)
amoro-mixed-format-spark-3.2-runtime-x.y.z-tests.jar