You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@paimon.apache.org by lz...@apache.org on 2023/03/18 04:42:53 UTC

[incubator-paimon] 12/32: [core] Rename paimon types, table and utils

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

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

commit f7a58eb158326a4a8b7c57d73036a6c5cbef7eae
Author: JingsongLi <lz...@aliyun.com>
AuthorDate: Fri Mar 17 14:16:33 2023 +0800

    [core] Rename paimon types, table and utils
---
 .../flink/table/store/file/AbstractFileStore.java  |  2 +-
 .../table/store/file/AppendOnlyFileStore.java      |  2 +-
 .../apache/flink/table/store/file/FileStore.java   |  2 +-
 .../apache/flink/table/store/file/KeyValue.java    | 18 +++---
 .../flink/table/store/file/KeyValueFileStore.java  |  2 +-
 .../flink/table/store/file/KeyValueSerializer.java |  4 +-
 .../file/append/AppendOnlyCompactManager.java      |  2 +-
 .../table/store/file/append/AppendOnlyWriter.java  |  8 +--
 .../table/store/file/casting/CastExecutors.java    | 30 ++++-----
 .../flink/table/store/file/casting/CastedRow.java  |  4 +-
 .../table/store/file/catalog/AbstractCatalog.java  | 10 +--
 .../flink/table/store/file/catalog/Catalog.java    |  2 +-
 .../table/store/file/catalog/CatalogFactory.java   |  4 +-
 .../file/catalog/FileSystemCatalogFactory.java     |  2 +-
 .../flink/table/store/file/catalog/Identifier.java |  4 +-
 .../store/file/compact/NoopCompactManager.java     |  2 +-
 .../store/file/disk/AbstractFileIOChannel.java     |  2 +-
 .../store/file/disk/BufferFileChannelReader.java   |  2 +-
 .../store/file/disk/BufferFileWriterImpl.java      |  2 +-
 .../store/file/disk/FileChannelManagerImpl.java    |  8 +--
 .../flink/table/store/file/disk/FileIOChannel.java |  2 +-
 .../flink/table/store/file/disk/IOManagerImpl.java |  2 +-
 .../store/file/io/AbstractFileRecordIterator.java  |  4 +-
 .../flink/table/store/file/io/DataFileMeta.java    | 14 ++--
 .../store/file/io/DataFileMetaSerializer.java      |  4 +-
 .../flink/table/store/file/io/FileWriter.java      |  2 +-
 .../file/io/KeyValueDataFileRecordReader.java      |  4 +-
 .../store/file/io/KeyValueDataFileWriter.java      |  2 +-
 .../store/file/io/KeyValueFileReaderFactory.java   |  6 +-
 .../store/file/io/KeyValueFileWriterFactory.java   |  2 +-
 .../table/store/file/io/RollingFileWriter.java     |  2 +-
 .../store/file/io/RowDataFileRecordReader.java     |  2 +-
 .../table/store/file/io/RowDataFileWriter.java     |  4 +-
 .../store/file/io/RowDataRollingFileWriter.java    |  4 +-
 .../table/store/file/io/SingleFileWriter.java      |  2 +-
 .../file/io/StatsCollectingSingleFileWriter.java   |  4 +-
 .../store/file/manifest/ManifestCommittable.java   |  2 +-
 .../manifest/ManifestCommittableSerializer.java    |  4 +-
 .../table/store/file/manifest/ManifestEntry.java   | 10 +--
 .../table/store/file/manifest/ManifestFile.java    |  2 +-
 .../store/file/manifest/ManifestFileMeta.java      |  8 +--
 .../table/store/file/manifest/ManifestList.java    |  2 +-
 .../table/store/file/mergetree/DataFileReader.java |  2 +-
 .../store/file/mergetree/DropDeleteReader.java     |  4 +-
 .../flink/table/store/file/mergetree/Levels.java   |  4 +-
 .../table/store/file/mergetree/LookupLevels.java   | 10 +--
 .../store/file/mergetree/MergeTreeReaders.java     |  2 +-
 .../store/file/mergetree/MergeTreeWriter.java      |  2 +-
 .../file/mergetree/SortBufferWriteBuffer.java      |  8 +--
 .../table/store/file/mergetree/SortedRun.java      |  2 +-
 .../table/store/file/mergetree/WriteBuffer.java    |  2 +-
 .../compact/ChangelogMergeTreeRewriter.java        |  4 +-
 .../file/mergetree/compact/ChangelogResult.java    |  2 +-
 .../file/mergetree/compact/ConcatRecordReader.java |  4 +-
 .../compact/FullChangelogMergeFunctionWrapper.java |  4 +-
 .../FullChangelogMergeTreeCompactRewriter.java     |  2 +-
 .../LookupChangelogMergeFunctionWrapper.java       |  4 +-
 .../mergetree/compact/MergeTreeCompactManager.java |  2 +-
 .../compact/MergeTreeCompactRewriter.java          |  4 +-
 .../compact/PartialUpdateMergeFunction.java        |  8 +--
 .../file/mergetree/compact/SortMergeReader.java    |  4 +-
 .../mergetree/compact/ValueCountMergeFunction.java |  4 +-
 .../compact/aggregate/AggregateMergeFunction.java  | 10 +--
 .../compact/aggregate/FieldAggregator.java         |  2 +-
 .../compact/aggregate/FieldBoolAndAgg.java         |  2 +-
 .../compact/aggregate/FieldBoolOrAgg.java          |  2 +-
 .../aggregate/FieldLastNonNullValueAgg.java        |  2 +-
 .../compact/aggregate/FieldLastValueAgg.java       |  2 +-
 .../compact/aggregate/FieldListaggAgg.java         |  4 +-
 .../mergetree/compact/aggregate/FieldMaxAgg.java   |  6 +-
 .../mergetree/compact/aggregate/FieldMinAgg.java   |  6 +-
 .../compact/aggregate/FieldPrimaryKeyAgg.java      |  2 +-
 .../mergetree/compact/aggregate/FieldSumAgg.java   |  4 +-
 .../file/operation/AbstractFileStoreScan.java      |  8 +--
 .../file/operation/AbstractFileStoreWrite.java     |  4 +-
 .../file/operation/AppendOnlyFileStoreRead.java    |  8 +--
 .../file/operation/AppendOnlyFileStoreScan.java    |  2 +-
 .../file/operation/AppendOnlyFileStoreWrite.java   |  8 +--
 .../store/file/operation/FileStoreCommitImpl.java  |  8 +--
 .../table/store/file/operation/FileStoreRead.java  |  4 +-
 .../table/store/file/operation/FileStoreScan.java  |  2 +-
 .../table/store/file/operation/FileStoreWrite.java |  4 +-
 .../file/operation/KeyValueFileStoreRead.java      |  8 +--
 .../file/operation/KeyValueFileStoreScan.java      |  2 +-
 .../file/operation/KeyValueFileStoreWrite.java     |  2 +-
 .../store/file/operation/PartitionExpire.java      |  4 +-
 .../table/store/file/operation/ReverseReader.java  |  4 +-
 .../store/file/schema/KeyValueFieldsExtractor.java |  2 +-
 .../flink/table/store/file/schema/Schema.java      |  8 +--
 .../table/store/file/schema/SchemaChange.java      |  2 +-
 .../store/file/schema/SchemaEvolutionUtil.java     | 22 +++----
 .../table/store/file/schema/SchemaManager.java     | 20 +++---
 .../table/store/file/schema/SchemaSerializer.java  |  6 +-
 .../table/store/file/schema/SchemaValidation.java  | 16 ++---
 .../flink/table/store/file/schema/TableSchema.java |  8 +--
 .../store/file/sort/BinaryInMemorySortBuffer.java  |  2 +-
 .../table/store/file/sort/BinaryMergeIterator.java |  2 +-
 .../table/store/file/sort/SpillChannelManager.java |  2 +-
 .../table/store/file/stats/BinaryTableStats.java   |  2 +-
 .../file/stats/FieldStatsArraySerializer.java      | 12 ++--
 .../store/file/stats/FieldStatsConverters.java     |  4 +-
 .../table/store/file/utils/BulkFormatMapping.java  |  6 +-
 .../store/file/utils/ExecutorThreadFactory.java    |  2 +-
 .../store/file/utils/FileStorePathFactory.java     |  4 +-
 .../flink/table/store/file/utils/FileUtils.java    |  2 +-
 .../store/file/utils/IteratorRecordReader.java     |  2 +-
 .../table/store/file/utils/JsonSerdeUtil.java      |  6 +-
 .../store/file/utils/KeyComparatorSupplier.java    |  2 +-
 .../table/store/file/utils/ObjectSerializer.java   |  2 +-
 .../flink/table/store/file/utils/OffsetRow.java    |  2 +-
 .../store/file/utils/RowDataPartitionComputer.java |  6 +-
 .../table/store/file/utils/SerializationUtils.java |  4 +-
 .../table/store/file/utils/SnapshotManager.java    |  2 +-
 .../file/utils/VersionedObjectSerializer.java      |  6 +-
 .../paimon/file/predicate/BucketSelector.java      |  4 +-
 .../table/AbstractFileStoreTable.java              | 18 +++---
 .../table/AppendOnlyFileStoreTable.java            | 22 +++----
 .../table/ChangelogValueCountFileStoreTable.java   | 26 ++++----
 .../table/ChangelogWithKeyFileStoreTable.java      | 24 +++----
 .../table/store => paimon}/table/DataTable.java    |  8 +--
 .../store => paimon}/table/FileStoreTable.java     |  8 +--
 .../table/FileStoreTableFactory.java               |  2 +-
 .../table/store => paimon}/table/InnerTable.java   | 26 ++++----
 .../store => paimon}/table/ReadonlyTable.java      | 12 ++--
 .../store => paimon}/table/SupportsPartition.java  |  2 +-
 .../{flink/table/store => paimon}/table/Table.java | 10 +--
 .../table/store => paimon}/table/TableUtils.java   | 20 +++---
 .../table/sink/BatchTableCommit.java               |  2 +-
 .../table/sink/BatchTableWrite.java                |  2 +-
 .../table/sink/BatchWriteBuilder.java              |  2 +-
 .../table/sink/BatchWriteBuilderImpl.java          |  6 +-
 .../table/sink/BucketComputer.java                 |  6 +-
 .../store => paimon}/table/sink/CommitMessage.java |  2 +-
 .../table/sink/CommitMessageImpl.java              |  2 +-
 .../table/sink/CommitMessageSerializer.java        |  2 +-
 .../table/sink/InnerTableCommit.java               |  2 +-
 .../table/sink/InnerTableWrite.java                |  2 +-
 .../table/sink/PartitionComputer.java              |  4 +-
 .../table/sink/SequenceGenerator.java              | 36 +++++------
 .../store => paimon}/table/sink/SinkRecord.java    |  6 +-
 .../table/sink/SinkRecordConverter.java            |  4 +-
 .../table/sink/StreamTableCommit.java              |  2 +-
 .../table/sink/StreamTableWrite.java               |  2 +-
 .../table/sink/StreamWriteBuilder.java             |  2 +-
 .../table/sink/StreamWriteBuilderImpl.java         |  6 +-
 .../store => paimon}/table/sink/TableCommit.java   |  4 +-
 .../table/sink/TableCommitImpl.java                |  4 +-
 .../store => paimon}/table/sink/TableWrite.java    |  4 +-
 .../table/sink/TableWriteImpl.java                 |  4 +-
 .../store => paimon}/table/sink/WriteBuilder.java  |  4 +-
 .../table/source/AbstractDataTableScan.java        | 24 +++----
 .../table/source/AppendOnlySplitGenerator.java     |  4 +-
 .../table/source/BatchDataTableScan.java           |  6 +-
 .../table/source/BatchDataTableScanImpl.java       |  6 +-
 .../store => paimon}/table/source/DataSplit.java   |  2 +-
 .../table/source/DataTableScan.java                |  4 +-
 .../table/source/EndOfScanException.java           |  2 +-
 .../table/source/InnerStreamTableScan.java         |  2 +-
 .../table/source/InnerTableRead.java               |  2 +-
 .../table/source/InnerTableScan.java               |  2 +-
 .../table/source/KeyValueTableRead.java            |  4 +-
 .../table/source/MergeTreeSplitGenerator.java      |  4 +-
 .../store => paimon}/table/source/ReadBuilder.java |  4 +-
 .../table/source/ReadBuilderImpl.java              | 10 +--
 .../table/source/ReadOnceTableScan.java            |  2 +-
 .../table/source/ResetRowKindRecordIterator.java   |  6 +-
 .../table/store => paimon}/table/source/Split.java |  2 +-
 .../table/source/SplitGenerator.java               |  2 +-
 .../table/source/StreamDataTableScan.java          |  8 +--
 .../table/source/StreamDataTableScanImpl.java      | 20 +++---
 .../table/source/StreamTableScan.java              |  2 +-
 .../store => paimon}/table/source/TableRead.java   |  4 +-
 .../store => paimon}/table/source/TableScan.java   |  4 +-
 .../table/source/TableStreamingReader.java         | 10 +--
 .../source/ValueContentRowDataRecordIterator.java  |  4 +-
 .../source/ValueCountRowDataRecordIterator.java    |  6 +-
 .../snapshot/BoundedWatermarkFollowUpScanner.java  |  4 +-
 .../source/snapshot/CompactedStartingScanner.java  |  4 +-
 .../CompactionChangelogFollowUpScanner.java        |  4 +-
 .../ContinuousCompactorFollowUpScanner.java        |  4 +-
 .../ContinuousCompactorStartingScanner.java        |  4 +-
 .../ContinuousFromSnapshotStartingScanner.java     |  4 +-
 .../ContinuousFromTimestampStartingScanner.java    |  4 +-
 .../snapshot/ContinuousLatestStartingScanner.java  |  4 +-
 .../source/snapshot/DeltaFollowUpScanner.java      |  4 +-
 .../table/source/snapshot/FollowUpScanner.java     |  6 +-
 .../table/source/snapshot/FullStartingScanner.java |  4 +-
 .../snapshot/InputChangelogFollowUpScanner.java    |  4 +-
 .../table/source/snapshot/SnapshotSplitReader.java |  8 +--
 .../source/snapshot/SnapshotSplitReaderImpl.java   | 10 +--
 .../table/source/snapshot/StartingScanner.java     |  8 +--
 .../StaticFromSnapshotStartingScanner.java         |  4 +-
 .../StaticFromTimestampStartingScanner.java        |  4 +-
 .../table/system/AuditLogTable.java                | 42 ++++++------
 .../table/system/BucketsTable.java                 | 34 +++++-----
 .../store => paimon}/table/system/FilesTable.java  | 36 +++++------
 .../table/system/OptionsTable.java                 | 22 +++----
 .../table/system/SchemasTable.java                 | 26 ++++----
 .../table/system/SnapshotsTable.java               | 26 ++++----
 .../table/system/SystemTableLoader.java            | 16 ++---
 .../flink/table/store/file/FileFormatTest.java     |  6 +-
 .../flink/table/store/file/TestFileStore.java      |  8 +--
 .../table/store/file/TestKeyValueGenerator.java    | 18 +++---
 .../store/file/append/AppendOnlyWriterTest.java    | 10 +--
 .../table/store/file/casting/CastExecutorTest.java | 32 +++++-----
 .../store/file/catalog/CatalogFactoryTest.java     |  2 +-
 .../file/disk/BufferFileWriterReaderTest.java      |  2 +-
 .../store/file/format/FileFormatSuffixTest.java    |  8 +--
 .../file/format/FileStatsExtractingAvroFormat.java |  2 +-
 .../store/file/format/FlushingFileFormat.java      |  2 +-
 .../store/file/io/KeyValueFileReadWriteTest.java   | 14 ++--
 .../table/store/file/io/RollingFileWriterTest.java |  8 +--
 .../ManifestCommittableSerializerTest.java         |  4 +-
 .../store/file/manifest/ManifestFileMetaTest.java  |  4 +-
 .../file/manifest/ManifestTestDataGenerator.java   |  2 +-
 .../store/file/mergetree/LookupLevelsTest.java     | 10 +--
 .../table/store/file/mergetree/MergeTreeTest.java  | 18 +++---
 .../mergetree/SortBufferWriteBufferTestBase.java   | 10 +--
 .../compact/CombiningRecordReaderTestBase.java     |  2 +-
 .../mergetree/compact/ConcatRecordReaderTest.java  |  2 +-
 .../FullChangelogMergeFunctionWrapperTestBase.java |  2 +-
 .../LookupChangelogMergeFunctionWrapperTest.java   | 10 +--
 .../mergetree/compact/MergeFunctionTestUtils.java  |  4 +-
 .../ReducerMergeFunctionWrapperTestBase.java       |  2 +-
 .../mergetree/compact/SortMergeReaderTestBase.java |  2 +-
 .../compact/aggregate/FieldAggregatorTest.java     | 18 +++---
 .../store/file/operation/FileStoreCommitTest.java  |  2 +-
 .../file/operation/KeyValueFileStoreReadTest.java  | 22 +++----
 .../file/operation/KeyValueFileStoreScanTest.java  |  4 +-
 .../store/file/operation/PartitionExpireTest.java  | 12 ++--
 .../store/file/operation/TestCommitThread.java     |  4 +-
 .../store/file/schema/DataTypeJsonParserTest.java  | 46 +++++++-------
 .../store/file/schema/SchemaEvolutionUtilTest.java | 18 +++---
 .../table/store/file/schema/SchemaManagerTest.java | 26 ++++----
 .../flink/table/store/file/schema/SchemaUtils.java |  6 +-
 .../file/schema/TableSchemaSerializationTest.java  | 10 +--
 .../table/store/file/schema/TableSchemaTest.java   |  6 +-
 .../store/file/sort/IntNormalizedKeyComputer.java  |  2 +-
 .../store/file/stats/BinaryTableStatsTest.java     |  4 +-
 .../file/stats/FieldStatsArraySerializerTest.java  |  4 +-
 .../store/file/stats/FieldStatsCollectorTest.java  |  8 +--
 .../table/store/file/stats/StatsTestUtils.java     |  4 +-
 .../store/file/stats/TestFileStatsExtractor.java   |  2 +-
 .../table/store/file/utils/FailingFileIO.java      |  2 +-
 .../store/file/utils/FileStorePathFactoryTest.java |  8 +--
 .../table/store/file/utils/OffsetRowTest.java      |  2 +-
 .../table/store/file/utils/ReusingTestData.java    |  4 +-
 .../store/file/utils/TestReusingRecordReader.java  |  2 +-
 .../table/store/file/utils/TraceableFileIO.java    |  4 +-
 .../paimon/file/predicate/BucketSelectorTest.java  |  4 +-
 .../file/predicate/PredicateBuilderTest.java       |  4 +-
 .../paimon/file/predicate/PredicateTest.java       |  4 +-
 .../table/AppendOnlyFileDataTableTest.java         |  2 +-
 .../table/AppendOnlyFileStoreTableTest.java        | 16 ++---
 .../AppendOnlyTableColumnTypeFileDataTest.java     |  2 +-
 .../AppendOnlyTableColumnTypeFileMetaTest.java     |  2 +-
 .../table/AppendOnlyTableFileMetaFilterTest.java   |  2 +-
 .../ChangelogValueCountColumnTypeFileDataTest.java |  2 +-
 .../ChangelogValueCountColumnTypeFileMetaTest.java |  2 +-
 .../ChangelogValueCountFileDataTableTest.java      |  2 +-
 .../ChangelogValueCountFileMetaFilterTest.java     |  2 +-
 .../ChangelogValueCountFileStoreTableTest.java     | 12 ++--
 .../ChangelogWithKeyColumnTypeFileDataTest.java    |  4 +-
 .../table/ChangelogWithKeyFileDataTableTest.java   |  8 +--
 .../table/ChangelogWithKeyFileMetaFilterTest.java  |  4 +-
 .../table/ChangelogWithKeyFileStoreTableTest.java  | 46 +++++++-------
 ...hangelogWithKeyTableColumnTypeFileMetaTest.java |  4 +-
 .../table/ColumnTypeFileDataTestBase.java          |  8 +--
 .../table/ColumnTypeFileMetaTestBase.java          |  4 +-
 .../table/FileDataFilterTestBase.java              | 12 ++--
 .../table/FileMetaFilterTestBase.java              |  4 +-
 .../table/FileStoreTableTestBase.java              | 30 ++++-----
 .../table/SchemaEvolutionTableTestBase.java        | 46 +++++++-------
 .../table/SchemaEvolutionTest.java                 | 20 +++---
 .../table/WritePreemptMemoryTest.java              | 10 +--
 .../table/sink/CommitMessageSerializerTest.java    |  2 +-
 .../table/sink/SinkRecordConverterTest.java        |  8 +--
 .../table/sink/TableWriteTest.java                 | 16 ++---
 .../table/source/BatchDataTableScanTest.java       | 10 +--
 .../source/RowDataRecordIteratorTestBase.java      |  6 +-
 .../table/source/SplitGeneratorTest.java           |  2 +-
 .../store => paimon}/table/source/SplitTest.java   |  2 +-
 .../table/source/StreamDataTableScanTest.java      | 10 +--
 .../ValueContentRowDataRecordIteratorTest.java     |  4 +-
 .../ValueCountRowDataRecordIteratorTest.java       |  6 +-
 .../BoundedWatermarkFollowUpScannerTest.java       |  4 +-
 .../snapshot/CompactedStartingScannerTest.java     | 10 +--
 .../CompactionChangelogFollowUpScannerTest.java    | 14 ++--
 .../ContinuousCompactorFollowUpScannerTest.java    | 14 ++--
 .../ContinuousCompactorStartingScannerTest.java    | 10 +--
 ...ContinuousFromTimestampStartingScannerTest.java | 10 +--
 .../ContinuousLatestStartingScannerTest.java       | 10 +--
 .../source/snapshot/DeltaFollowUpScannerTest.java  | 12 ++--
 .../source/snapshot/FullStartingScannerTest.java   | 10 +--
 .../InputChangelogFollowUpScannerTest.java         | 14 ++--
 .../table/source/snapshot/ScannerTestBase.java     | 22 +++----
 .../utils/CompatibilityTestUtils.java              |  2 +-
 .../apache/paimon/benchmark/TableBenchmark.java    |  8 +--
 .../paimon/benchmark/TableWriterBenchmark.java     |  8 +--
 .../org/apache/paimon/catalog/CatalogContext.java  |  2 +-
 .../org/apache/paimon/codegen/CodeGenLoader.java   |  2 +-
 .../org/apache/paimon/codegen/CodeGenUtils.java    |  4 +-
 .../org/apache/paimon/codegen/CodeGenerator.java   |  4 +-
 .../paimon/codegen/CodeGeneratorContext.scala      |  4 +-
 .../apache/paimon/codegen/CodeGeneratorImpl.java   |  6 +-
 .../paimon/codegen/ComparatorCodeGenerator.scala   |  2 +-
 .../org/apache/paimon/codegen/CompileUtils.java    |  2 +-
 .../apache/paimon/codegen/ExprCodeGenerator.scala  |  4 +-
 .../org/apache/paimon/codegen/GenerateUtils.scala  |  8 +--
 .../org/apache/paimon/codegen/GeneratedClass.java  |  2 +-
 .../paimon/codegen/GeneratedExpression.scala       |  2 +-
 .../paimon/codegen/ProjectionCodeGenerator.scala   |  2 +-
 .../apache/paimon/codegen/SortCodeGenerator.scala  |  6 +-
 .../codegen/codesplit/BlockStatementGrouper.java   |  2 +-
 .../codegen/codesplit/BlockStatementSplitter.java  |  2 +-
 .../codegen/codesplit/CodeRewriterTestBase.java    |  2 +-
 .../codegen/codesplit/CodeSplitTestUtil.java       |  8 +--
 .../codegen/codesplit/DeclarationRewriter.java     |  2 +-
 .../paimon/codegen/codesplit/JavaCodeSplitter.java |  2 +-
 .../codegen/codesplit/JavaCodeSplitterTest.java    |  2 +-
 .../codegen/codesplit/MemberFieldRewriter.java     |  2 +-
 .../java/org/apache/paimon/data/BinaryArray.java   |  2 +-
 .../org/apache/paimon/data/BinaryArrayWriter.java  |  2 +-
 .../java/org/apache/paimon/data/BinaryMap.java     |  4 +-
 .../java/org/apache/paimon/data/BinaryRow.java     | 14 ++--
 .../org/apache/paimon/data/BinaryRowWriter.java    |  2 +-
 .../java/org/apache/paimon/data/BinarySection.java |  4 +-
 .../java/org/apache/paimon/data/BinaryString.java  |  2 +-
 .../java/org/apache/paimon/data/BinaryWriter.java  | 10 +--
 .../main/java/org/apache/paimon/data/Decimal.java  |  4 +-
 .../java/org/apache/paimon/data/GenericArray.java  |  4 +-
 .../java/org/apache/paimon/data/GenericMap.java    |  4 +-
 .../java/org/apache/paimon/data/GenericRow.java    |  6 +-
 .../java/org/apache/paimon/data/InternalArray.java | 10 +--
 .../java/org/apache/paimon/data/InternalMap.java   |  4 +-
 .../java/org/apache/paimon/data/InternalRow.java   | 12 ++--
 .../java/org/apache/paimon/data/JoinedRow.java     |  2 +-
 .../org/apache/paimon/data/LazyGenericRow.java     |  4 +-
 .../java/org/apache/paimon/data/NestedRow.java     |  4 +-
 .../apache/paimon/data/RandomAccessInputView.java  |  2 +-
 .../paimon/data/SimpleCollectingOutputView.java    |  2 +-
 .../java/org/apache/paimon/data/Timestamp.java     |  6 +-
 .../apache/paimon/data/columnar/ColumnarRow.java   |  2 +-
 .../paimon/data/columnar/ColumnarRowIterator.java  |  4 +-
 .../data/serializer/BinaryRowSerializer.java       |  2 +-
 .../data/serializer/InternalArraySerializer.java   |  2 +-
 .../data/serializer/InternalMapSerializer.java     |  2 +-
 .../data/serializer/InternalRowSerializer.java     |  4 +-
 .../data/serializer/InternalSerializers.java       | 18 +++---
 .../paimon/data/serializer/ListSerializer.java     |  2 +-
 .../paimon/data/serializer/NullableSerializer.java |  2 +-
 .../data/serializer/RowCompactedSerializer.java    | 14 ++--
 .../apache/paimon/file/predicate/CompareUtils.java |  2 +-
 .../org/apache/paimon/file/predicate/Equal.java    |  2 +-
 .../org/apache/paimon/file/predicate/FieldRef.java |  2 +-
 .../paimon/file/predicate/GreaterOrEqual.java      |  2 +-
 .../apache/paimon/file/predicate/GreaterThan.java  |  2 +-
 .../java/org/apache/paimon/file/predicate/In.java  |  2 +-
 .../apache/paimon/file/predicate/IsNotNull.java    |  2 +-
 .../org/apache/paimon/file/predicate/IsNull.java   |  2 +-
 .../apache/paimon/file/predicate/LeafFunction.java |  2 +-
 .../paimon/file/predicate/LeafPredicate.java       |  2 +-
 .../paimon/file/predicate/LeafUnaryFunction.java   |  2 +-
 .../apache/paimon/file/predicate/LessOrEqual.java  |  2 +-
 .../org/apache/paimon/file/predicate/LessThan.java |  2 +-
 .../org/apache/paimon/file/predicate/NotEqual.java |  2 +-
 .../org/apache/paimon/file/predicate/NotIn.java    |  2 +-
 .../predicate/NullFalseLeafBinaryFunction.java     |  2 +-
 .../paimon/file/predicate/PredicateBuilder.java    | 12 ++--
 .../paimon/file/predicate/PredicateFilter.java     |  4 +-
 .../apache/paimon/file/predicate/StartsWith.java   |  2 +-
 .../apache/paimon/format/FieldStatsCollector.java  |  4 +-
 .../java/org/apache/paimon/format/FileFormat.java  |  2 +-
 .../apache/paimon/format/FormatReaderFactory.java  |  2 +-
 .../src/main/java/org/apache/paimon/fs/Path.java   |  2 +-
 .../org/apache/paimon/fs/local/LocalFileIO.java    |  2 +-
 .../org/apache/paimon/io/DataOutputSerializer.java |  2 +-
 .../paimon/io/cache/CachedRandomInputView.java     |  2 +-
 .../paimon/lookup/hash/HashLookupStoreReader.java  |  4 +-
 .../paimon/lookup/hash/HashLookupStoreWriter.java  |  4 +-
 .../apache/paimon/memory/MemorySegmentUtils.java   |  2 +-
 .../java/org/apache/paimon/memory/MemoryUtils.java |  2 +-
 .../org/apache/paimon/options/CatalogOptions.java  |  2 +-
 .../org/apache/paimon/options/ConfigOption.java    |  2 +-
 .../org/apache/paimon/options/ConfigOptions.java   |  2 +-
 .../java/org/apache/paimon/options/MemorySize.java |  4 +-
 .../org/apache/paimon/options/OptionsUtils.java    |  2 +-
 .../paimon/options/StructuredOptionsSplitter.java  |  2 +-
 .../paimon/options/description/TextElement.java    |  2 +-
 .../plugin/ComponentClassLoader.java               |  4 +-
 .../store => paimon}/plugin/PluginLoader.java      |  6 +-
 .../store => paimon}/reader/RecordReader.java      |  4 +-
 .../reader/RecordReaderIterator.java               |  4 +-
 .../table/store => paimon}/table/TableType.java    |  2 +-
 .../table/store => paimon}/types/ArrayType.java    |  4 +-
 .../table/store => paimon}/types/BigIntType.java   |  2 +-
 .../table/store => paimon}/types/BinaryType.java   |  2 +-
 .../table/store => paimon}/types/BooleanType.java  |  2 +-
 .../table/store => paimon}/types/CharType.java     |  2 +-
 .../table/store => paimon}/types/DataField.java    |  6 +-
 .../table/store => paimon}/types/DataType.java     |  4 +-
 .../store => paimon}/types/DataTypeCasts.java      | 52 +++++++--------
 .../store => paimon}/types/DataTypeChecks.java     |  4 +-
 .../types/DataTypeDefaultVisitor.java              |  2 +-
 .../store => paimon}/types/DataTypeFamily.java     |  2 +-
 .../store => paimon}/types/DataTypeJsonParser.java |  6 +-
 .../table/store => paimon}/types/DataTypeRoot.java |  2 +-
 .../store => paimon}/types/DataTypeVisitor.java    |  2 +-
 .../table/store => paimon}/types/DataTypes.java    |  2 +-
 .../table/store => paimon}/types/DateType.java     |  2 +-
 .../table/store => paimon}/types/DecimalType.java  |  2 +-
 .../table/store => paimon}/types/DoubleType.java   |  2 +-
 .../table/store => paimon}/types/FloatType.java    |  2 +-
 .../table/store => paimon}/types/IntType.java      |  2 +-
 .../types/LocalZonedTimestampType.java             |  2 +-
 .../table/store => paimon}/types/MapType.java      |  4 +-
 .../table/store => paimon}/types/MultisetType.java |  4 +-
 .../store => paimon}/types/ReassignFieldId.java    |  2 +-
 .../table/store => paimon}/types/RowKind.java      |  2 +-
 .../table/store => paimon}/types/RowType.java      |  6 +-
 .../table/store => paimon}/types/SmallIntType.java |  2 +-
 .../table/store => paimon}/types/TimeType.java     |  2 +-
 .../store => paimon}/types/TimestampType.java      |  2 +-
 .../table/store => paimon}/types/TinyIntType.java  |  2 +-
 .../store => paimon}/types/VarBinaryType.java      |  2 +-
 .../table/store => paimon}/types/VarCharType.java  |  2 +-
 .../table/store => paimon}/utils/ArrayUtils.java   |  2 +-
 .../store => paimon}/utils/BinaryRowDataUtil.java  |  2 +-
 .../store => paimon}/utils/CloseableIterator.java  |  2 +-
 .../store => paimon}/utils/DateTimeUtils.java      |  2 +-
 .../table/store => paimon}/utils/DecimalUtils.java |  2 +-
 .../store => paimon}/utils/EncodingUtils.java      |  2 +-
 .../store => paimon}/utils/ExceptionUtils.java     |  4 +-
 .../table/store => paimon}/utils/FileIOUtils.java  |  4 +-
 .../table/store => paimon}/utils/Filter.java       |  2 +-
 .../utils/FunctionWithException.java               |  2 +-
 .../table/store => paimon}/utils/HadoopUtils.java  |  2 +-
 .../table/store => paimon}/utils/IOFunction.java   |  2 +-
 .../table/store => paimon}/utils/IOUtils.java      |  2 +-
 .../store => paimon}/utils/InstantiationUtil.java  |  2 +-
 .../utils/IteratorResultIterator.java              |  4 +-
 .../store => paimon}/utils/KeyProjectedRow.java    |  4 +-
 .../store => paimon}/utils/LocalFileUtils.java     |  2 +-
 .../table/store => paimon}/utils/LongCounter.java  |  2 +-
 .../table/store => paimon}/utils/MapBuilder.java   |  2 +-
 .../table/store => paimon}/utils/MathUtils.java    |  2 +-
 .../store => paimon}/utils/MurmurHashUtils.java    |  2 +-
 .../store => paimon}/utils/OperatingSystem.java    |  2 +-
 .../store => paimon}/utils/OrderedPacking.java     |  2 +-
 .../{flink/table/store => paimon}/utils/Pair.java  |  2 +-
 .../{flink/table/store => paimon}/utils/Pool.java  |  4 +-
 .../store => paimon}/utils/Preconditions.java      |  2 +-
 .../table/store => paimon}/utils/ProjectedRow.java |  6 +-
 .../table/store => paimon}/utils/Projection.java   | 10 +--
 .../store => paimon}/utils/RecyclableIterator.java |  4 +-
 .../table/store => paimon}/utils/Reference.java    |  2 +-
 .../store => paimon}/utils/ReflectionUtils.java    |  2 +-
 .../utils/RowDataToObjectArrayConverter.java       |  4 +-
 .../table/store => paimon}/utils/RowDataUtils.java | 22 +++----
 .../utils/SerializableFunction.java                |  2 +-
 .../table/store => paimon}/utils/SortUtil.java     |  2 +-
 .../table/store => paimon}/utils/StringUtils.java  |  6 +-
 .../table/store => paimon}/utils/ThreadUtils.java  |  2 +-
 .../store => paimon}/utils/ThrowingConsumer.java   |  2 +-
 .../table/store => paimon}/utils/TimeUtils.java    |  6 +-
 .../table/store => paimon}/utils/TypeUtils.java    | 22 +++----
 .../store => paimon}/utils/VarLengthIntUtils.java  |  2 +-
 .../table/store/datagen/DataGenVisitorBase.java    |  8 +--
 .../table/store/datagen/DataGeneratorMapper.java   |  2 +-
 .../store/datagen/RandomGeneratorVisitor.java      | 40 ++++++------
 .../java/org/apache/paimon/data/BinaryRowTest.java | 14 ++--
 .../org/apache/paimon/data/BinaryStringTest.java   |  4 +-
 .../org/apache/paimon/data/DataFormatTestUtil.java |  4 +-
 .../java/org/apache/paimon/data/DecimalTest.java   | 12 ++--
 .../java/org/apache/paimon/data/MapDataUtil.java   |  2 +-
 .../java/org/apache/paimon/data/NestedRowTest.java |  2 +-
 .../java/org/apache/paimon/data/RowDataTest.java   |  8 +--
 .../serializer/InternalArraySerializerTest.java    |  2 +-
 .../data/serializer/InternalMapSerializerTest.java |  4 +-
 .../data/serializer/InternalRowSerializerTest.java |  4 +-
 .../serializer/RowCompactedSerializerTest.java     |  6 +-
 .../paimon/data/serializer/SerializerTestBase.java |  4 +-
 .../paimon/format/FileStatsExtractorTestBase.java  | 26 ++++----
 .../apache/paimon/fs/FileIOBehaviorTestBase.java   |  2 +-
 .../apache/paimon/fs/HadoopConfigLoadingTest.java  |  4 +-
 .../org/apache/paimon/fs/HdfsBehaviorTest.java     |  2 +-
 .../lookup/hash/HashLookupStoreFactoryTest.java    |  4 +-
 .../store => paimon}/types/DataTypeAssert.java     |  4 +-
 .../store => paimon}/types/DataTypeChecksTest.java |  4 +-
 .../store => paimon}/types/DataTypesTest.java      |  2 +-
 .../store => paimon}/utils/CommonTestUtils.java    |  2 +-
 .../store => paimon}/utils/LocalFileUtilsTest.java |  2 +-
 .../store => paimon}/utils/RowDataUtilsTest.java   |  8 +--
 .../table/store => paimon}/utils/TempDirUtils.java |  2 +-
 .../configuration/ConfigOptionsDocGenerator.java   |  6 +-
 .../ConfigOptionsDocGeneratorTest.java             |  2 +-
 .../ConfigOptionsDocsCompletenessITCase.java       |  2 +-
 .../main/java/org/apache/paimon/oss/OSSLoader.java |  2 +-
 .../main/java/org/apache/paimon/s3/S3Loader.java   |  2 +-
 .../connector/AbstractTableStoreFactory.java       |  6 +-
 .../apache/paimon/connector/DataCatalogTable.java  |  2 +-
 .../paimon/connector/DataTypeToLogicalType.java    | 46 +++++++-------
 .../org/apache/paimon/connector/FlinkCatalog.java  |  4 +-
 .../org/apache/paimon/connector/FlinkRowData.java  |  2 +-
 .../apache/paimon/connector/FlinkRowWrapper.java   |  2 +-
 .../paimon/connector/LogicalTypeConversion.java    |  6 +-
 .../paimon/connector/LogicalTypeToDataType.java    | 44 ++++++-------
 .../paimon/connector/PredicateConverter.java       |  2 +-
 .../paimon/connector/SystemCatalogTable.java       |  2 +-
 .../apache/paimon/connector/action/ActionBase.java |  8 +--
 .../paimon/connector/action/CompactAction.java     |  2 +-
 .../connector/action/DropPartitionAction.java      |  2 +-
 .../paimon/connector/action/MergeIntoAction.java   |  6 +-
 .../kafka/KafkaLogSerializationSchema.java         |  4 +-
 .../paimon/connector/kafka/KafkaSinkFunction.java  |  2 +-
 .../connector/lookup/FileStoreLookupFunction.java  | 14 ++--
 .../paimon/connector/lookup/LookupTable.java       |  2 +-
 .../connector/lookup/PrimaryKeyLookupTable.java    |  8 +--
 .../paimon/connector/lookup/RocksDBSetState.java   |  2 +-
 .../paimon/connector/lookup/RocksDBValueState.java |  2 +-
 .../lookup/SecondaryIndexLookupTable.java          |  8 +--
 .../connector/sink/BucketStreamPartitioner.java    |  4 +-
 .../connector/sink/CommittableSerializer.java      |  4 +-
 .../paimon/connector/sink/CommittableTypeInfo.java |  2 +-
 .../paimon/connector/sink/CommitterOperator.java   |  2 +-
 .../paimon/connector/sink/CompactorSink.java       |  2 +-
 .../connector/sink/CompactorSinkBuilder.java       |  4 +-
 .../paimon/connector/sink/FileStoreSink.java       |  2 +-
 .../apache/paimon/connector/sink/FlinkSink.java    |  4 +-
 .../paimon/connector/sink/FlinkSinkBuilder.java    |  2 +-
 .../sink/FullChangelogStoreSinkWrite.java          |  4 +-
 .../paimon/connector/sink/LogSinkFunction.java     |  2 +-
 .../sink/LookupChangelogStoreSinkWrite.java        |  2 +-
 .../sink/OffsetRowDataHashStreamPartitioner.java   |  2 +-
 .../apache/paimon/connector/sink/StateUtils.java   |  2 +-
 .../paimon/connector/sink/StoreCommitter.java      |  6 +-
 .../connector/sink/StoreCompactOperator.java       |  4 +-
 .../paimon/connector/sink/StoreSinkWrite.java      |  4 +-
 .../paimon/connector/sink/StoreSinkWriteImpl.java  |  8 +--
 .../paimon/connector/sink/StoreWriteOperator.java  |  4 +-
 .../paimon/connector/sink/TableStoreSink.java      |  8 +--
 .../connector/source/CompactorSourceBuilder.java   | 14 ++--
 .../source/ContinuousFileSplitEnumerator.java      | 10 +--
 .../source/ContinuousFileStoreSource.java          |  6 +-
 .../connector/source/FileStoreSourceReader.java    |  2 +-
 .../connector/source/FileStoreSourceSplit.java     |  2 +-
 .../source/FileStoreSourceSplitGenerator.java      |  2 +-
 .../source/FileStoreSourceSplitReader.java         |  8 +--
 .../source/FileStoreSourceSplitSerializer.java     |  4 +-
 .../source/FileStoreSourceSplitState.java          |  4 +-
 .../paimon/connector/source/FlinkSource.java       |  4 +-
 .../connector/source/FlinkSourceBuilder.java       |  4 +-
 .../paimon/connector/source/FlinkTableSource.java  |  2 +-
 .../connector/source/SimpleSystemSource.java       |  2 +-
 .../connector/source/SingleIteratorRecords.java    |  2 +-
 .../connector/source/StaticFileStoreSource.java    |  6 +-
 .../paimon/connector/source/SystemTableSource.java |  4 +-
 .../paimon/connector/source/TableStoreSource.java  | 10 +--
 .../paimon/connector/CatalogTableITCase.java       |  2 +-
 .../apache/paimon/connector/ChangelogModeTest.java |  8 +--
 .../apache/paimon/connector/FileStoreITCase.java   |  4 +-
 .../apache/paimon/connector/FiniteTestSource.java  |  2 +-
 .../paimon/connector/ForceCompactionITCase.java    |  6 +-
 .../paimon/connector/action/ActionITCaseBase.java  | 14 ++--
 .../connector/action/CompactActionITCase.java      | 16 ++---
 .../connector/action/DeleteActionITCase.java       |  8 +--
 .../action/DropPartitionActionITCase.java          | 10 +--
 .../connector/kafka/KafkaLogSerializationTest.java |  4 +-
 .../paimon/connector/kafka/KafkaLogTestUtils.java  |  4 +-
 .../paimon/connector/lookup/LookupTableTest.java   |  6 +-
 .../connector/sink/CommittableSerializerTest.java  |  6 +-
 .../connector/sink/CommitterOperatorTest.java      |  6 +-
 .../connector/sink/CommitterOperatorTestBase.java  | 18 +++---
 .../paimon/connector/sink/CompactorSinkITCase.java | 18 +++---
 .../connector/sink/FileStoreShuffleBucketTest.java |  6 +-
 .../connector/source/CompactorSourceITCase.java    | 14 ++--
 .../source/ContinuousFileSplitEnumeratorTest.java  |  6 +-
 .../source/FileStoreSourceReaderTest.java          |  8 +--
 .../source/FileStoreSourceSplitGeneratorTest.java  |  6 +-
 .../source/FileStoreSourceSplitReaderTest.java     |  6 +-
 .../source/FileStoreSourceSplitSerializerTest.java |  2 +-
 .../source/TestChangelogDataReadWrite.java         | 24 +++----
 .../paimon/connector/util/AbstractTestBase.java    |  2 +-
 .../paimon/format/avro/AbstractAvroBulkFormat.java |  8 +--
 .../apache/paimon/format/avro/AvroFileFormat.java  |  6 +-
 .../paimon/format/avro/AvroSchemaConverter.java    | 20 +++---
 .../format/avro/AvroToRowDataConverters.java       | 12 ++--
 .../format/avro/RowDataToAvroConverters.java       |  8 +--
 .../paimon/format/fs/HadoopReadOnlyFileSystem.java |  2 +-
 .../apache/paimon/format/orc/OrcFileFormat.java    | 20 +++---
 .../apache/paimon/format/orc/OrcReaderFactory.java | 14 ++--
 .../apache/paimon/format/orc/OrcWriterFactory.java |  2 +-
 .../orc/SerializableHadoopConfigWrapper.java       |  2 +-
 .../format/orc/filter/OrcFileStatsExtractor.java   | 10 +--
 .../orc/filter/OrcPredicateFunctionVisitor.java    |  2 +-
 .../format/orc/reader/AbstractOrcColumnVector.java | 10 +--
 .../format/orc/reader/OrcArrayColumnVector.java    |  2 +-
 .../format/orc/reader/OrcMapColumnVector.java      |  2 +-
 .../format/orc/reader/OrcRowColumnVector.java      |  2 +-
 .../format/orc/reader/OrcSplitReaderUtil.java      | 16 ++---
 .../paimon/format/orc/writer/OrcBulkWriter.java    |  2 +-
 .../format/orc/writer/RowDataVectorizer.java       | 14 ++--
 .../paimon/format/orc/writer/Vectorizer.java       |  2 +-
 .../paimon/format/parquet/ParquetFileFormat.java   |  4 +-
 .../format/parquet/ParquetFileStatsExtractor.java  | 10 +--
 .../format/parquet/ParquetReaderFactory.java       | 10 +--
 .../format/parquet/ParquetSchemaConverter.java     | 18 +++---
 .../apache/paimon/format/parquet/ParquetUtil.java  |  2 +-
 .../format/parquet/reader/ArrayColumnReader.java   |  4 +-
 .../parquet/reader/BaseVectorizedColumnReader.java |  2 +-
 .../reader/ParquetDataColumnReaderFactory.java     |  2 +-
 .../parquet/reader/ParquetSplitReaderUtil.java     | 16 ++---
 .../format/parquet/writer/ParquetBulkWriter.java   |  2 +-
 .../parquet/writer/ParquetRowDataBuilder.java      |  2 +-
 .../parquet/writer/ParquetRowDataWriter.java       | 20 +++---
 .../parquet/writer/RowDataParquetBuilder.java      |  2 +-
 .../format/parquet/writer/StreamOutputFile.java    |  2 +-
 .../apache/paimon/format/BulkFileFormatTest.java   |  6 +-
 .../paimon/format/avro/AvroBulkFormatTest.java     |  4 +-
 .../format/avro/AvroBulkFormatTestUtils.java       |  6 +-
 .../format/orc/OrcFileStatsExtractorTest.java      | 36 +++++------
 .../paimon/format/orc/OrcFilterConverterTest.java  |  6 +-
 .../paimon/format/orc/OrcReaderFactoryTest.java    | 12 ++--
 .../paimon/format/orc/OrcSplitReaderUtilTest.java  |  4 +-
 .../paimon/format/orc/OrcWriterFactoryTest.java    |  6 +-
 .../parquet/ParquetFileStatsExtractorTest.java     | 38 +++++------
 .../format/parquet/ParquetReadWriteTest.java       | 34 +++++-----
 .../java/org/apache/paimon/hive/HiveCatalog.java   |  8 +--
 .../org/apache/paimon/hive/HiveCatalogFactory.java |  2 +-
 .../org/apache/paimon/hive/HiveCatalogLock.java    |  2 +-
 .../java/org/apache/paimon/hive/HiveTypeUtils.java | 12 ++--
 .../java/org/apache/paimon/hive/HiveSchema.java    |  6 +-
 .../hive/SearchArgumentToPredicateConverter.java   |  6 +-
 .../apache/paimon/hive/TableStoreHiveMetaHook.java |  2 +-
 .../paimon/hive/mapred/TableStoreInputFormat.java  |  8 +--
 .../paimon/hive/mapred/TableStoreInputSplit.java   |  2 +-
 .../paimon/hive/mapred/TableStoreRecordReader.java |  6 +-
 .../TableStoreDateObjectInspector.java             |  2 +-
 .../TableStoreListObjectInspector.java             |  2 +-
 .../TableStoreMapObjectInspector.java              |  2 +-
 .../TableStoreObjectInspectorFactory.java          | 12 ++--
 .../TableStoreRowDataObjectInspector.java          |  4 +-
 .../org/apache/paimon/hive/FileStoreTestUtils.java |  6 +-
 .../apache/paimon/hive/HiveTableSchemaTest.java    |  6 +-
 .../paimon/hive/RandomGenericRowDataGenerator.java |  8 +--
 .../SearchArgumentToPredicateConverterTest.java    |  6 +-
 .../hive/TableStoreHiveStorageHandlerITCase.java   | 14 ++--
 .../hive/mapred/TableStoreInputSplitTest.java      |  2 +-
 .../hive/mapred/TableStoreRecordReaderTest.java    | 16 ++---
 .../TableStoreListObjectInspectorTest.java         |  2 +-
 .../TableStoreMapObjectInspectorTest.java          |  2 +-
 .../apache/paimon/spark/SparkDataSourceReader.java | 10 +--
 .../apache/paimon/spark/SparkInputPartition.java   |  8 +--
 .../java/org/apache/paimon/spark/SparkSource.java  |  2 +-
 .../apache/paimon/spark/SimpleTableTestHelper.java | 10 +--
 .../paimon/spark/SparkFilterConverterTest.java     | 10 +--
 .../apache/paimon/spark/SparkInternalRowTest.java  |  2 +-
 .../org/apache/paimon/spark/SparkReadITCase.java   | 12 ++--
 .../org/apache/paimon/spark/SparkTypeTest.java     |  4 +-
 .../org/apache/paimon/spark/SparkArrayData.java    | 14 ++--
 .../java/org/apache/paimon/spark/SparkCatalog.java |  4 +-
 .../apache/paimon/spark/SparkFilterConverter.java  |  4 +-
 .../apache/paimon/spark/SparkInputPartition.java   |  2 +-
 .../org/apache/paimon/spark/SparkInternalRow.java  | 18 +++---
 .../apache/paimon/spark/SparkReaderFactory.java    |  6 +-
 .../java/org/apache/paimon/spark/SparkRow.java     | 14 ++--
 .../java/org/apache/paimon/spark/SparkScan.java    |  4 +-
 .../org/apache/paimon/spark/SparkScanBuilder.java  |  2 +-
 .../java/org/apache/paimon/spark/SparkSource.java  |  2 +-
 .../java/org/apache/paimon/spark/SparkTable.java   |  8 +--
 .../org/apache/paimon/spark/SparkTypeUtils.java    | 74 +++++++++++-----------
 .../java/org/apache/paimon/spark/SparkWrite.java   | 12 ++--
 .../org/apache/paimon/spark/SparkWriteBuilder.java |  2 +-
 .../apache/paimon/spark/MinioTestContainer.java    |  2 +-
 .../paimon/spark/SparkFilterConverterTest.java     | 10 +--
 .../apache/paimon/spark/SparkInternalRowTest.java  |  2 +-
 .../org/apache/paimon/spark/SparkReadITCase.java   | 14 ++--
 .../org/apache/paimon/spark/SparkReadTestBase.java | 18 +++---
 .../org/apache/paimon/spark/SparkTypeTest.java     |  4 +-
 679 files changed, 2161 insertions(+), 2161 deletions(-)

diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/AbstractFileStore.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/AbstractFileStore.java
index fec802ed0..f986978cd 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/AbstractFileStore.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/AbstractFileStore.java
@@ -28,7 +28,7 @@ import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.utils.FileStorePathFactory;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.fs.FileIO;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/AppendOnlyFileStore.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/AppendOnlyFileStore.java
index d144c4c4f..b4346d08e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/AppendOnlyFileStore.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/AppendOnlyFileStore.java
@@ -24,7 +24,7 @@ import org.apache.flink.table.store.file.operation.AppendOnlyFileStoreScan;
 import org.apache.flink.table.store.file.operation.AppendOnlyFileStoreWrite;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.paimon.fs.FileIO;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FileFormatDiscover;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/FileStore.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/FileStore.java
index 83970390d..6c1091103 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/FileStore.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/FileStore.java
@@ -26,7 +26,7 @@ import org.apache.flink.table.store.file.operation.FileStoreScan;
 import org.apache.flink.table.store.file.operation.FileStoreWrite;
 import org.apache.flink.table.store.file.operation.PartitionExpire;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValue.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValue.java
index 746fca6d2..826cf79b4 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValue.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValue.java
@@ -18,12 +18,12 @@
 
 package org.apache.flink.table.store.file;
 
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.TinyIntType;
-import org.apache.flink.table.store.utils.RowDataUtils;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.TinyIntType;
+import org.apache.paimon.utils.RowDataUtils;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.InternalRow;
@@ -36,7 +36,7 @@ import java.util.stream.IntStream;
 
 import static org.apache.flink.table.store.file.schema.SystemColumns.SEQUENCE_NUMBER;
 import static org.apache.flink.table.store.file.schema.SystemColumns.VALUE_KIND;
-import static org.apache.flink.table.store.utils.Preconditions.checkState;
+import static org.apache.paimon.utils.Preconditions.checkState;
 
 /**
  * A key value, including user key, sequence number, value kind and value. This object can be
@@ -146,12 +146,12 @@ public class KeyValue {
                 new DataField(
                         maxKeyId + 1,
                         SEQUENCE_NUMBER,
-                        new org.apache.flink.table.store.types.BigIntType(false)));
+                        new org.apache.paimon.types.BigIntType(false)));
         fields.add(
                 new DataField(
                         maxKeyId + 2,
                         VALUE_KIND,
-                        new org.apache.flink.table.store.types.TinyIntType(false)));
+                        new org.apache.paimon.types.TinyIntType(false)));
         for (DataField valueField : valueFields) {
             DataField newValueField =
                     new DataField(
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValueFileStore.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValueFileStore.java
index 2a3090739..494a550df 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValueFileStore.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValueFileStore.java
@@ -27,7 +27,7 @@ import org.apache.flink.table.store.file.schema.KeyValueFieldsExtractor;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.utils.KeyComparatorSupplier;
 import org.apache.paimon.fs.FileIO;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FileFormatDiscover;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValueSerializer.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValueSerializer.java
index 2c94781ef..52d02f0e8 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValueSerializer.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/KeyValueSerializer.java
@@ -20,8 +20,8 @@ package org.apache.flink.table.store.file;
 
 import org.apache.flink.table.store.file.utils.ObjectSerializer;
 import org.apache.flink.table.store.file.utils.OffsetRow;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/append/AppendOnlyCompactManager.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/append/AppendOnlyCompactManager.java
index b30ed176e..f93b2a8fa 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/append/AppendOnlyCompactManager.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/append/AppendOnlyCompactManager.java
@@ -24,7 +24,7 @@ import org.apache.flink.table.store.file.compact.CompactTask;
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.io.DataFilePathFactory;
 import org.apache.paimon.fs.FileIO;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/append/AppendOnlyWriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/append/AppendOnlyWriter.java
index 444906215..648485046 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/append/AppendOnlyWriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/append/AppendOnlyWriter.java
@@ -28,10 +28,10 @@ import org.apache.flink.table.store.file.io.RowDataRollingFileWriter;
 import org.apache.flink.table.store.file.utils.CommitIncrement;
 import org.apache.flink.table.store.file.utils.RecordWriter;
 import org.apache.paimon.fs.FileIO;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.LongCounter;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.LongCounter;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FileFormat;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/casting/CastExecutors.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/casting/CastExecutors.java
index 5cce3b1af..3df02be63 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/casting/CastExecutors.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/casting/CastExecutors.java
@@ -18,16 +18,16 @@
 
 package org.apache.flink.table.store.file.casting;
 
-import org.apache.flink.table.store.types.BinaryType;
-import org.apache.flink.table.store.types.CharType;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.TimestampType;
-import org.apache.flink.table.store.types.VarBinaryType;
-import org.apache.flink.table.store.types.VarCharType;
-import org.apache.flink.table.store.utils.DateTimeUtils;
-import org.apache.flink.table.store.utils.DecimalUtils;
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.types.BinaryType;
+import org.apache.paimon.types.CharType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.TimestampType;
+import org.apache.paimon.types.VarBinaryType;
+import org.apache.paimon.types.VarCharType;
+import org.apache.paimon.utils.DateTimeUtils;
+import org.apache.paimon.utils.DecimalUtils;
+import org.apache.paimon.utils.StringUtils;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.Decimal;
@@ -37,11 +37,11 @@ import javax.annotation.Nullable;
 
 import java.util.Arrays;
 
-import static org.apache.flink.table.store.types.DataTypeRoot.BINARY;
-import static org.apache.flink.table.store.types.DataTypeRoot.CHAR;
-import static org.apache.flink.table.store.types.DataTypeRoot.TIMESTAMP_WITHOUT_TIME_ZONE;
-import static org.apache.flink.table.store.types.DataTypeRoot.VARBINARY;
-import static org.apache.flink.table.store.types.DataTypeRoot.VARCHAR;
+import static org.apache.paimon.types.DataTypeRoot.BINARY;
+import static org.apache.paimon.types.DataTypeRoot.CHAR;
+import static org.apache.paimon.types.DataTypeRoot.TIMESTAMP_WITHOUT_TIME_ZONE;
+import static org.apache.paimon.types.DataTypeRoot.VARBINARY;
+import static org.apache.paimon.types.DataTypeRoot.VARCHAR;
 
 /** Cast executors for input type and output type. */
 public class CastExecutors {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/casting/CastedRow.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/casting/CastedRow.java
index 9c9bfee3a..a8ff2dacd 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/casting/CastedRow.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/casting/CastedRow.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.casting;
 
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.Decimal;
@@ -27,7 +27,7 @@ import org.apache.paimon.data.InternalMap;
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.data.Timestamp;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /**
  * An implementation of {@link InternalRow} which provides a casted view of the underlying {@link
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/AbstractCatalog.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/AbstractCatalog.java
index 864606a4b..0bc249a8b 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/AbstractCatalog.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/AbstractCatalog.java
@@ -21,11 +21,11 @@ package org.apache.flink.table.store.file.catalog;
 import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.table.FileStoreTable;
-import org.apache.flink.table.store.table.FileStoreTableFactory;
-import org.apache.flink.table.store.table.Table;
-import org.apache.flink.table.store.table.system.SystemTableLoader;
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.table.FileStoreTable;
+import org.apache.paimon.table.FileStoreTableFactory;
+import org.apache.paimon.table.Table;
+import org.apache.paimon.table.system.SystemTableLoader;
+import org.apache.paimon.utils.StringUtils;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/Catalog.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/Catalog.java
index cd184f99d..7acbe7161 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/Catalog.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/Catalog.java
@@ -20,7 +20,7 @@ package org.apache.flink.table.store.file.catalog;
 
 import org.apache.flink.table.store.file.schema.Schema;
 import org.apache.flink.table.store.file.schema.SchemaChange;
-import org.apache.flink.table.store.table.Table;
+import org.apache.paimon.table.Table;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/CatalogFactory.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/CatalogFactory.java
index b4d27c2ee..e89d2794e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/CatalogFactory.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/CatalogFactory.java
@@ -21,7 +21,7 @@ package org.apache.flink.table.store.file.catalog;
 import org.apache.flink.table.store.catalog.CatalogContext;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.annotation.Experimental;
 
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
 
 import static org.apache.paimon.options.CatalogOptions.METASTORE;
 import static org.apache.paimon.options.CatalogOptions.WAREHOUSE;
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /**
  * Factory to create {@link Catalog}. Each factory should have a unique identifier.
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/FileSystemCatalogFactory.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/FileSystemCatalogFactory.java
index 5b56f5744..7c0b12308 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/FileSystemCatalogFactory.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/FileSystemCatalogFactory.java
@@ -21,7 +21,7 @@ package org.apache.flink.table.store.file.catalog;
 import org.apache.flink.table.store.catalog.CatalogContext;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.table.TableType;
+import org.apache.paimon.table.TableType;
 
 import static org.apache.paimon.options.CatalogOptions.TABLE_TYPE;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/Identifier.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/Identifier.java
index 25491a41e..20c848cbe 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/Identifier.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/catalog/Identifier.java
@@ -19,7 +19,7 @@
 package org.apache.flink.table.store.file.catalog;
 
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.utils.StringUtils;
 
 import org.apache.paimon.annotation.Experimental;
 
@@ -27,7 +27,7 @@ import java.io.Serializable;
 import java.util.Objects;
 
 import static org.apache.flink.table.store.file.catalog.AbstractCatalog.DB_SUFFIX;
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /**
  * Identifies an object in a catalog.
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/compact/NoopCompactManager.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/compact/NoopCompactManager.java
index 071dbd763..cc4ec3f89 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/compact/NoopCompactManager.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/compact/NoopCompactManager.java
@@ -20,7 +20,7 @@ package org.apache.flink.table.store.file.compact;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.io.DataFileMeta;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import java.io.IOException;
 import java.util.Collections;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/AbstractFileIOChannel.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/AbstractFileIOChannel.java
index ca51b0c71..97b46b933 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/AbstractFileIOChannel.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/AbstractFileIOChannel.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.disk;
 
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/BufferFileChannelReader.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/BufferFileChannelReader.java
index 0a82944b4..ab3eb1ced 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/BufferFileChannelReader.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/BufferFileChannelReader.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.channels.FileChannel;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /** Helper class to read {@link Buffer}s from files into objects. */
 public class BufferFileChannelReader {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/BufferFileWriterImpl.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/BufferFileWriterImpl.java
index 8f507133b..5e4de2920 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/BufferFileWriterImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/BufferFileWriterImpl.java
@@ -19,7 +19,7 @@
 package org.apache.flink.table.store.file.disk;
 
 import org.apache.flink.table.store.file.memory.Buffer;
-import org.apache.flink.table.store.utils.FileIOUtils;
+import org.apache.paimon.utils.FileIOUtils;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/FileChannelManagerImpl.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/FileChannelManagerImpl.java
index f3220f908..7d758febc 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/FileChannelManagerImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/FileChannelManagerImpl.java
@@ -20,8 +20,8 @@ package org.apache.flink.table.store.file.disk;
 
 import org.apache.flink.table.store.file.disk.FileIOChannel.Enumerator;
 import org.apache.flink.table.store.file.disk.FileIOChannel.ID;
-import org.apache.flink.table.store.utils.FileIOUtils;
-import org.apache.flink.table.store.utils.IOUtils;
+import org.apache.paimon.utils.FileIOUtils;
+import org.apache.paimon.utils.IOUtils;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -35,8 +35,8 @@ import java.util.UUID;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.stream.Collectors;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /** The manager used for creating/deleting file channels based on config temp dirs. */
 public class FileChannelManagerImpl implements FileChannelManager {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/FileIOChannel.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/FileIOChannel.java
index b01751310..7f7916e2a 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/FileIOChannel.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/FileIOChannel.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.disk;
 
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.utils.StringUtils;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/IOManagerImpl.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/IOManagerImpl.java
index f50621470..3e3d3e590 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/IOManagerImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/disk/IOManagerImpl.java
@@ -20,7 +20,7 @@ package org.apache.flink.table.store.file.disk;
 
 import org.apache.flink.table.store.file.disk.FileIOChannel.Enumerator;
 import org.apache.flink.table.store.file.disk.FileIOChannel.ID;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/AbstractFileRecordIterator.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/AbstractFileRecordIterator.java
index e28fdcee5..89e4276fe 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/AbstractFileRecordIterator.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/AbstractFileRecordIterator.java
@@ -20,8 +20,8 @@ package org.apache.flink.table.store.file.io;
 
 import org.apache.flink.table.store.file.casting.CastFieldGetter;
 import org.apache.flink.table.store.file.casting.CastedRow;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.utils.ProjectedRow;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.utils.ProjectedRow;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/DataFileMeta.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/DataFileMeta.java
index ec0fc220a..943ccf01d 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/DataFileMeta.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/DataFileMeta.java
@@ -21,12 +21,12 @@ package org.apache.flink.table.store.file.io;
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.stats.BinaryTableStats;
 import org.apache.flink.table.store.file.stats.FieldStatsArraySerializer;
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataTypes;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataTypes;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.Timestamp;
@@ -38,7 +38,7 @@ import java.util.Objects;
 
 import static org.apache.flink.table.store.file.utils.SerializationUtils.newBytesType;
 import static org.apache.flink.table.store.file.utils.SerializationUtils.newStringType;
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 import static org.apache.paimon.data.BinaryRow.EMPTY_ROW;
 
 /** Metadata of a data file. */
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/DataFileMetaSerializer.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/DataFileMetaSerializer.java
index 2483ec5b3..3fa138ebc 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/DataFileMetaSerializer.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/DataFileMetaSerializer.java
@@ -27,8 +27,8 @@ import org.apache.paimon.data.InternalRow;
 
 import static org.apache.flink.table.store.file.utils.SerializationUtils.deserializeBinaryRow;
 import static org.apache.flink.table.store.file.utils.SerializationUtils.serializeBinaryRow;
-import static org.apache.flink.table.store.utils.RowDataUtils.fromStringArrayData;
-import static org.apache.flink.table.store.utils.RowDataUtils.toStringArrayData;
+import static org.apache.paimon.utils.RowDataUtils.fromStringArrayData;
+import static org.apache.paimon.utils.RowDataUtils.toStringArrayData;
 
 /** Serializer for {@link DataFileMeta}. */
 public class DataFileMetaSerializer extends ObjectSerializer<DataFileMeta> {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/FileWriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/FileWriter.java
index 09677c01f..6dde94d34 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/FileWriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/FileWriter.java
@@ -19,7 +19,7 @@
 
 package org.apache.flink.table.store.file.io;
 
-import org.apache.flink.table.store.utils.CloseableIterator;
+import org.apache.paimon.utils.CloseableIterator;
 
 import java.io.Closeable;
 import java.io.IOException;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueDataFileRecordReader.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueDataFileRecordReader.java
index e0d54f8ca..33c93f330 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueDataFileRecordReader.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueDataFileRecordReader.java
@@ -24,8 +24,8 @@ import org.apache.flink.table.store.file.casting.CastFieldGetter;
 import org.apache.flink.table.store.file.utils.FileUtils;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FormatReaderFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueDataFileWriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueDataFileWriter.java
index b9c5c21df..d5f8137cb 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueDataFileWriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueDataFileWriter.java
@@ -23,7 +23,7 @@ import org.apache.flink.table.store.file.stats.BinaryTableStats;
 import org.apache.flink.table.store.file.stats.FieldStatsArraySerializer;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueFileReaderFactory.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueFileReaderFactory.java
index 5c2cd0965..99c304775 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueFileReaderFactory.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueFileReaderFactory.java
@@ -26,9 +26,9 @@ import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.flink.table.store.file.utils.BulkFormatMapping;
 import org.apache.flink.table.store.file.utils.FileStorePathFactory;
 import org.apache.paimon.fs.FileIO;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Projection;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Projection;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.format.FileFormatDiscover;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueFileWriterFactory.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueFileWriterFactory.java
index b4d4b8657..99c3abb81 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueFileWriterFactory.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/KeyValueFileWriterFactory.java
@@ -23,7 +23,7 @@ import org.apache.flink.table.store.file.KeyValueSerializer;
 import org.apache.flink.table.store.file.utils.FileStorePathFactory;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.BinaryRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RollingFileWriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RollingFileWriter.java
index 1a9a1a0d6..1dbb032d2 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RollingFileWriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RollingFileWriter.java
@@ -19,7 +19,7 @@
 
 package org.apache.flink.table.store.file.io;
 
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.slf4j.Logger;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataFileRecordReader.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataFileRecordReader.java
index f8489075e..671012ae3 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataFileRecordReader.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataFileRecordReader.java
@@ -22,7 +22,7 @@ import org.apache.flink.table.store.file.casting.CastFieldGetter;
 import org.apache.flink.table.store.file.utils.FileUtils;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FormatReaderFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataFileWriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataFileWriter.java
index f3c16ddcb..a5292bdb7 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataFileWriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataFileWriter.java
@@ -23,8 +23,8 @@ import org.apache.flink.table.store.file.stats.BinaryTableStats;
 import org.apache.flink.table.store.file.stats.FieldStatsArraySerializer;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.LongCounter;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.LongCounter;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FileStatsExtractor;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataRollingFileWriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataRollingFileWriter.java
index 393f3366b..98a2fff3e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataRollingFileWriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/RowDataRollingFileWriter.java
@@ -20,8 +20,8 @@
 package org.apache.flink.table.store.file.io;
 
 import org.apache.paimon.fs.FileIO;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.LongCounter;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.LongCounter;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FileFormat;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/SingleFileWriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/SingleFileWriter.java
index 74cba78ac..521f013d0 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/SingleFileWriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/SingleFileWriter.java
@@ -22,7 +22,7 @@ package org.apache.flink.table.store.file.io;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.PositionOutputStream;
-import org.apache.flink.table.store.utils.IOUtils;
+import org.apache.paimon.utils.IOUtils;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FormatWriter;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/StatsCollectingSingleFileWriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/StatsCollectingSingleFileWriter.java
index 88e87ce02..eabc5605e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/StatsCollectingSingleFileWriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/io/StatsCollectingSingleFileWriter.java
@@ -21,8 +21,8 @@ package org.apache.flink.table.store.file.io;
 
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FieldStats;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestCommittable.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestCommittable.java
index d7389af89..0a0f8ef2f 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestCommittable.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestCommittable.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.manifest;
 
-import org.apache.flink.table.store.table.sink.CommitMessage;
+import org.apache.paimon.table.sink.CommitMessage;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestCommittableSerializer.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestCommittableSerializer.java
index 40bcbd6c2..db40ee416 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestCommittableSerializer.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestCommittableSerializer.java
@@ -20,8 +20,8 @@ package org.apache.flink.table.store.file.manifest;
 
 import org.apache.paimon.io.DataInputDeserializer;
 import org.apache.paimon.io.DataOutputViewStreamWrapper;
-import org.apache.flink.table.store.table.sink.CommitMessage;
-import org.apache.flink.table.store.table.sink.CommitMessageSerializer;
+import org.apache.paimon.table.sink.CommitMessage;
+import org.apache.paimon.table.sink.CommitMessageSerializer;
 
 import org.apache.paimon.data.serializer.VersionedSerializer;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestEntry.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestEntry.java
index 2f43c8b54..e207e2158 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestEntry.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestEntry.java
@@ -20,11 +20,11 @@ package org.apache.flink.table.store.file.manifest;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.utils.FileStorePathFactory;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.TinyIntType;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.TinyIntType;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.data.BinaryRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestFile.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestFile.java
index 93fd0238b..db61ff68f 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestFile.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestFile.java
@@ -27,7 +27,7 @@ import org.apache.flink.table.store.file.utils.FileUtils;
 import org.apache.flink.table.store.file.utils.VersionedObjectSerializer;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.format.FieldStatsCollector;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestFileMeta.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestFileMeta.java
index ce7b7d0e7..9dc6a3d26 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestFileMeta.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestFileMeta.java
@@ -20,10 +20,10 @@ package org.apache.flink.table.store.file.manifest;
 
 import org.apache.flink.table.store.file.stats.BinaryTableStats;
 import org.apache.flink.table.store.file.stats.FieldStatsArraySerializer;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarCharType;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarCharType;
 
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestList.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestList.java
index 87ff1c413..d03e9e681 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestList.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/manifest/ManifestList.java
@@ -24,7 +24,7 @@ import org.apache.flink.table.store.file.utils.VersionedObjectSerializer;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.PositionOutputStream;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.format.FileFormat;
 import org.apache.paimon.format.FormatReaderFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/DataFileReader.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/DataFileReader.java
index 3ce2a2114..68c1606b6 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/DataFileReader.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/DataFileReader.java
@@ -21,7 +21,7 @@ package org.apache.flink.table.store.file.mergetree;
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.paimon.lookup.LookupStoreReader;
 import org.apache.paimon.options.MemorySize;
-import org.apache.flink.table.store.utils.FileIOUtils;
+import org.apache.paimon.utils.FileIOUtils;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/DropDeleteReader.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/DropDeleteReader.java
index 8b42957cf..fc9a84397 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/DropDeleteReader.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/DropDeleteReader.java
@@ -19,8 +19,8 @@
 package org.apache.flink.table.store.file.mergetree;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.types.RowKind;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/Levels.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/Levels.java
index 9dc966f7c..39299064a 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/Levels.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/Levels.java
@@ -19,7 +19,7 @@
 package org.apache.flink.table.store.file.mergetree;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.data.InternalRow;
 
@@ -33,7 +33,7 @@ import java.util.TreeSet;
 import java.util.stream.Collectors;
 
 import static java.util.Collections.emptyList;
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /** A class which stores all level files of merge tree. */
 public class Levels {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/LookupLevels.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/LookupLevels.java
index 14bd06b52..8c8d8c4f2 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/LookupLevels.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/LookupLevels.java
@@ -26,11 +26,11 @@ import org.apache.paimon.lookup.LookupStoreReader;
 import org.apache.paimon.lookup.LookupStoreWriter;
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.options.MemorySize;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.FileIOUtils;
-import org.apache.flink.table.store.utils.IOFunction;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.FileIOUtils;
+import org.apache.paimon.utils.IOFunction;
 
 import org.apache.flink.shaded.guava30.com.google.common.cache.Cache;
 import org.apache.flink.shaded.guava30.com.google.common.cache.CacheBuilder;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/MergeTreeReaders.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/MergeTreeReaders.java
index fa10e6620..3041e0399 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/MergeTreeReaders.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/MergeTreeReaders.java
@@ -26,7 +26,7 @@ import org.apache.flink.table.store.file.mergetree.compact.MergeFunction;
 import org.apache.flink.table.store.file.mergetree.compact.MergeFunctionWrapper;
 import org.apache.flink.table.store.file.mergetree.compact.ReducerMergeFunctionWrapper;
 import org.apache.flink.table.store.file.mergetree.compact.SortMergeReader;
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/MergeTreeWriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/MergeTreeWriter.java
index 4cfa0cdc4..39acf8145 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/MergeTreeWriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/MergeTreeWriter.java
@@ -33,7 +33,7 @@ import org.apache.flink.table.store.file.memory.MemorySegmentPool;
 import org.apache.flink.table.store.file.mergetree.compact.MergeFunction;
 import org.apache.flink.table.store.file.utils.CommitIncrement;
 import org.apache.flink.table.store.file.utils.RecordWriter;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/SortBufferWriteBuffer.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/SortBufferWriteBuffer.java
index 2c56afaa4..1583a5b69 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/SortBufferWriteBuffer.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/SortBufferWriteBuffer.java
@@ -31,10 +31,10 @@ import org.apache.flink.table.store.file.sort.BinaryExternalSortBuffer;
 import org.apache.flink.table.store.file.sort.BinaryInMemorySortBuffer;
 import org.apache.flink.table.store.file.sort.SortBuffer;
 import org.apache.flink.table.store.file.utils.MutableObjectIterator;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.BinaryRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/SortedRun.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/SortedRun.java
index 10802ab89..40ff02b7e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/SortedRun.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/SortedRun.java
@@ -19,7 +19,7 @@
 package org.apache.flink.table.store.file.mergetree;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/WriteBuffer.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/WriteBuffer.java
index a1a5bcd06..ee361b66e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/WriteBuffer.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/WriteBuffer.java
@@ -20,7 +20,7 @@ package org.apache.flink.table.store.file.mergetree;
 
 import org.apache.flink.table.store.file.KeyValue;
 import org.apache.flink.table.store.file.mergetree.compact.MergeFunction;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ChangelogMergeTreeRewriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ChangelogMergeTreeRewriter.java
index ece5ff705..5e7bbecd4 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ChangelogMergeTreeRewriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ChangelogMergeTreeRewriter.java
@@ -26,8 +26,8 @@ import org.apache.flink.table.store.file.io.KeyValueFileWriterFactory;
 import org.apache.flink.table.store.file.io.RollingFileWriter;
 import org.apache.flink.table.store.file.mergetree.MergeTreeReaders;
 import org.apache.flink.table.store.file.mergetree.SortedRun;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.reader.RecordReaderIterator;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ChangelogResult.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ChangelogResult.java
index a4414e7e0..67e2c1947 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ChangelogResult.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ChangelogResult.java
@@ -19,7 +19,7 @@
 package org.apache.flink.table.store.file.mergetree.compact;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ConcatRecordReader.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ConcatRecordReader.java
index 539d3d24d..f12fc39c3 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ConcatRecordReader.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ConcatRecordReader.java
@@ -18,8 +18,8 @@
 
 package org.apache.flink.table.store.file.mergetree.compact;
 
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.utils.Preconditions;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeFunctionWrapper.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeFunctionWrapper.java
index 699b27244..84b70d9cc 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeFunctionWrapper.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeFunctionWrapper.java
@@ -19,8 +19,8 @@
 package org.apache.flink.table.store.file.mergetree.compact;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.utils.Preconditions;
 
 /**
  * Wrapper for {@link MergeFunction}s to produce changelog during a full compaction.
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeTreeCompactRewriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeTreeCompactRewriter.java
index d9f20fb74..02c466ce2 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeTreeCompactRewriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeTreeCompactRewriter.java
@@ -23,7 +23,7 @@ import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.io.KeyValueFileReaderFactory;
 import org.apache.flink.table.store.file.io.KeyValueFileWriterFactory;
 import org.apache.flink.table.store.file.mergetree.SortedRun;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/LookupChangelogMergeFunctionWrapper.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/LookupChangelogMergeFunctionWrapper.java
index 557075dec..f2e6b543e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/LookupChangelogMergeFunctionWrapper.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/LookupChangelogMergeFunctionWrapper.java
@@ -19,13 +19,13 @@
 package org.apache.flink.table.store.file.mergetree.compact;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.InternalRow;
 
 import java.util.function.Function;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /**
  * Wrapper for {@link MergeFunction}s to produce changelog by lookup during the compaction involving
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/MergeTreeCompactManager.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/MergeTreeCompactManager.java
index 3234fb682..516d0da1a 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/MergeTreeCompactManager.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/MergeTreeCompactManager.java
@@ -24,7 +24,7 @@ import org.apache.flink.table.store.file.compact.CompactUnit;
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.mergetree.LevelSortedRun;
 import org.apache.flink.table.store.file.mergetree.Levels;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/MergeTreeCompactRewriter.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/MergeTreeCompactRewriter.java
index ffc531b9b..f00077011 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/MergeTreeCompactRewriter.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/MergeTreeCompactRewriter.java
@@ -26,8 +26,8 @@ import org.apache.flink.table.store.file.io.KeyValueFileWriterFactory;
 import org.apache.flink.table.store.file.io.RollingFileWriter;
 import org.apache.flink.table.store.file.mergetree.MergeTreeReaders;
 import org.apache.flink.table.store.file.mergetree.SortedRun;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.reader.RecordReaderIterator;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/PartialUpdateMergeFunction.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/PartialUpdateMergeFunction.java
index 9fed302bf..ef1dbfcfa 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/PartialUpdateMergeFunction.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/PartialUpdateMergeFunction.java
@@ -19,9 +19,9 @@
 package org.apache.flink.table.store.file.mergetree.compact;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.utils.Projection;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.utils.Projection;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
@@ -30,7 +30,7 @@ import javax.annotation.Nullable;
 
 import java.util.List;
 
-import static org.apache.flink.table.store.utils.RowDataUtils.createFieldGetters;
+import static org.apache.paimon.utils.RowDataUtils.createFieldGetters;
 
 /**
  * A {@link MergeFunction} where key is primary key (unique) and value is the partial record, update
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/SortMergeReader.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/SortMergeReader.java
index 4602121f8..82dd00466 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/SortMergeReader.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/SortMergeReader.java
@@ -19,8 +19,8 @@
 package org.apache.flink.table.store.file.mergetree.compact;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ValueCountMergeFunction.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ValueCountMergeFunction.java
index a4597057d..1ed5acc4a 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ValueCountMergeFunction.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/ValueCountMergeFunction.java
@@ -19,14 +19,14 @@
 package org.apache.flink.table.store.file.mergetree.compact;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
 
 import javax.annotation.Nullable;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /**
  * A {@link MergeFunction} where key is the full record and value is a count which represents number
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/AggregateMergeFunction.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/AggregateMergeFunction.java
index 3e4be4deb..9da73ff49 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/AggregateMergeFunction.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/AggregateMergeFunction.java
@@ -22,9 +22,9 @@ import org.apache.flink.table.store.file.KeyValue;
 import org.apache.flink.table.store.file.mergetree.compact.MergeFunction;
 import org.apache.flink.table.store.file.mergetree.compact.MergeFunctionFactory;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.utils.Projection;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.utils.Projection;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
@@ -34,8 +34,8 @@ import javax.annotation.Nullable;
 import java.util.List;
 
 import static org.apache.paimon.options.ConfigOptions.key;
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
-import static org.apache.flink.table.store.utils.RowDataUtils.createFieldGetters;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.RowDataUtils.createFieldGetters;
 
 /**
  * A {@link MergeFunction} where key is primary key (unique) and value is the partial record,
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldAggregator.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldAggregator.java
index a5468af57..3e369b79f 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldAggregator.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldAggregator.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.mergetree.compact.aggregate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import java.io.Serializable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldBoolAndAgg.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldBoolAndAgg.java
index 8bf8f72ec..462e30652 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldBoolAndAgg.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldBoolAndAgg.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.mergetree.compact.aggregate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 /** bool_and aggregate a field of a row. */
 public class FieldBoolAndAgg extends FieldAggregator {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldBoolOrAgg.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldBoolOrAgg.java
index deb2d2912..7f1e7841f 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldBoolOrAgg.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldBoolOrAgg.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.mergetree.compact.aggregate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 /** bool_or aggregate a field of a row. */
 public class FieldBoolOrAgg extends FieldAggregator {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldLastNonNullValueAgg.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldLastNonNullValueAgg.java
index 4326c1be1..9a1dd4475 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldLastNonNullValueAgg.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldLastNonNullValueAgg.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.mergetree.compact.aggregate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 /** last non-null value aggregate a field of a row. */
 public class FieldLastNonNullValueAgg extends FieldAggregator {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldLastValueAgg.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldLastValueAgg.java
index 5a5fb3bfd..7a6b96f10 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldLastValueAgg.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldLastValueAgg.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.mergetree.compact.aggregate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 /** last value aggregate a field of a row. */
 public class FieldLastValueAgg extends FieldAggregator {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldListaggAgg.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldListaggAgg.java
index f76a02ec2..d1b1094d5 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldListaggAgg.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldListaggAgg.java
@@ -18,8 +18,8 @@
 
 package org.apache.flink.table.store.file.mergetree.compact.aggregate;
 
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.utils.StringUtils;
 
 import org.apache.paimon.data.BinaryString;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldMaxAgg.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldMaxAgg.java
index 1881455ea..bb2e2465d 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldMaxAgg.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldMaxAgg.java
@@ -18,9 +18,9 @@
 
 package org.apache.flink.table.store.file.mergetree.compact.aggregate;
 
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeRoot;
-import org.apache.flink.table.store.utils.RowDataUtils;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeRoot;
+import org.apache.paimon.utils.RowDataUtils;
 
 /** max aggregate a field of a row. */
 public class FieldMaxAgg extends FieldAggregator {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldMinAgg.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldMinAgg.java
index cfb105183..9111a1070 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldMinAgg.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldMinAgg.java
@@ -18,9 +18,9 @@
 
 package org.apache.flink.table.store.file.mergetree.compact.aggregate;
 
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeRoot;
-import org.apache.flink.table.store.utils.RowDataUtils;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeRoot;
+import org.apache.paimon.utils.RowDataUtils;
 
 /** min aggregate a field of a row. */
 public class FieldMinAgg extends FieldAggregator {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldPrimaryKeyAgg.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldPrimaryKeyAgg.java
index 0812c671e..98fc7bb2d 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldPrimaryKeyAgg.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldPrimaryKeyAgg.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.mergetree.compact.aggregate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 /** primary key aggregate a field of a row. */
 public class FieldPrimaryKeyAgg extends FieldAggregator {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldSumAgg.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldSumAgg.java
index 8167456c1..ab03a6245 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldSumAgg.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldSumAgg.java
@@ -18,8 +18,8 @@
 
 package org.apache.flink.table.store.file.mergetree.compact.aggregate;
 
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.utils.DecimalUtils;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.utils.DecimalUtils;
 
 import org.apache.paimon.data.Decimal;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AbstractFileStoreScan.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AbstractFileStoreScan.java
index 2a53bc686..c3d7c2eb2 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AbstractFileStoreScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AbstractFileStoreScan.java
@@ -32,10 +32,10 @@ import org.apache.flink.table.store.file.stats.FieldStatsArraySerializer;
 import org.apache.flink.table.store.file.utils.FileStorePathFactory;
 import org.apache.flink.table.store.file.utils.FileUtils;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Filter;
-import org.apache.flink.table.store.utils.Preconditions;
-import org.apache.flink.table.store.utils.RowDataToObjectArrayConverter;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Filter;
+import org.apache.paimon.utils.Preconditions;
+import org.apache.paimon.utils.RowDataToObjectArrayConverter;
 
 import org.apache.paimon.data.BinaryRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AbstractFileStoreWrite.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AbstractFileStoreWrite.java
index b9433f467..114f83c0c 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AbstractFileStoreWrite.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AbstractFileStoreWrite.java
@@ -27,8 +27,8 @@ import org.apache.flink.table.store.file.utils.ExecutorThreadFactory;
 import org.apache.flink.table.store.file.utils.RecordWriter;
 import org.apache.flink.table.store.file.utils.Restorable;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.sink.CommitMessage;
-import org.apache.flink.table.store.table.sink.CommitMessageImpl;
+import org.apache.paimon.table.sink.CommitMessage;
+import org.apache.paimon.table.sink.CommitMessageImpl;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.BinaryRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreRead.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreRead.java
index 65ec86e80..5d7d8c815 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreRead.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreRead.java
@@ -30,10 +30,10 @@ import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.flink.table.store.file.utils.BulkFormatMapping;
 import org.apache.flink.table.store.file.utils.FileStorePathFactory;
 import org.apache.paimon.fs.FileIO;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Projection;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Projection;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FileFormatDiscover;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreScan.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreScan.java
index 3a55fa2db..02118da34 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreScan.java
@@ -25,7 +25,7 @@ import org.apache.paimon.file.predicate.Predicate;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.stats.FieldStatsConverters;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import java.util.List;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreWrite.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreWrite.java
index 2d4c66fac..2b95cde9e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreWrite.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/AppendOnlyFileStoreWrite.java
@@ -31,10 +31,10 @@ import org.apache.flink.table.store.file.utils.FileStorePathFactory;
 import org.apache.flink.table.store.file.utils.RecordWriter;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.fs.FileIO;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.LongCounter;
+import org.apache.paimon.reader.RecordReaderIterator;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.LongCounter;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreCommitImpl.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreCommitImpl.java
index 1030d4318..85b8eb726 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreCommitImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreCommitImpl.java
@@ -34,10 +34,10 @@ import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.options.MemorySize;
-import org.apache.flink.table.store.table.sink.CommitMessage;
-import org.apache.flink.table.store.table.sink.CommitMessageImpl;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.RowDataToObjectArrayConverter;
+import org.apache.paimon.table.sink.CommitMessage;
+import org.apache.paimon.table.sink.CommitMessageImpl;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.RowDataToObjectArrayConverter;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreRead.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreRead.java
index b6c0f4393..4a1f48490 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreRead.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreRead.java
@@ -19,8 +19,8 @@
 package org.apache.flink.table.store.file.operation;
 
 import org.apache.paimon.file.predicate.Predicate;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.source.DataSplit;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.source.DataSplit;
 
 import java.io.IOException;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreScan.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreScan.java
index 59a646377..601f64b27 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreScan.java
@@ -23,7 +23,7 @@ import org.apache.flink.table.store.file.manifest.FileKind;
 import org.apache.flink.table.store.file.manifest.ManifestEntry;
 import org.apache.flink.table.store.file.manifest.ManifestFileMeta;
 import org.apache.paimon.file.predicate.Predicate;
-import org.apache.flink.table.store.utils.Filter;
+import org.apache.paimon.utils.Filter;
 
 import org.apache.paimon.data.BinaryRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreWrite.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreWrite.java
index caaddacf3..ad3a4a312 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreWrite.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/FileStoreWrite.java
@@ -22,8 +22,8 @@ import org.apache.flink.table.store.file.FileStore;
 import org.apache.flink.table.store.file.disk.IOManager;
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.utils.RecordWriter;
-import org.apache.flink.table.store.table.sink.CommitMessage;
-import org.apache.flink.table.store.table.sink.SinkRecord;
+import org.apache.paimon.table.sink.CommitMessage;
+import org.apache.paimon.table.sink.SinkRecord;
 
 import org.apache.paimon.data.BinaryRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreRead.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreRead.java
index 59e339fb1..ab1384d2f 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreRead.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreRead.java
@@ -35,10 +35,10 @@ import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.flink.table.store.file.utils.FileStorePathFactory;
 import org.apache.paimon.fs.FileIO;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.ProjectedRow;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.ProjectedRow;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FileFormatDiscover;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreScan.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreScan.java
index 4acf52f77..5d0cb256d 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreScan.java
@@ -26,7 +26,7 @@ import org.apache.flink.table.store.file.schema.KeyValueFieldsExtractor;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.stats.FieldStatsConverters;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import java.util.List;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreWrite.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreWrite.java
index 29a76f87e..2eccdcb6d 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreWrite.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreWrite.java
@@ -45,7 +45,7 @@ import org.apache.flink.table.store.file.utils.FileStorePathFactory;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.lookup.hash.HashLookupStoreFactory;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/PartitionExpire.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/PartitionExpire.java
index 773ed9d1a..15da30f65 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/PartitionExpire.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/PartitionExpire.java
@@ -21,8 +21,8 @@ package org.apache.flink.table.store.file.operation;
 import org.apache.flink.table.store.file.manifest.ManifestCommittable;
 import org.apache.flink.table.store.file.manifest.ManifestEntry;
 import org.apache.flink.table.store.file.partition.PartitionTimeExtractor;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.RowDataToObjectArrayConverter;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.RowDataToObjectArrayConverter;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.BinaryRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/ReverseReader.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/ReverseReader.java
index 7f0260251..d400e8f4f 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/ReverseReader.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/operation/ReverseReader.java
@@ -19,8 +19,8 @@
 package org.apache.flink.table.store.file.operation;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.types.RowKind;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/KeyValueFieldsExtractor.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/KeyValueFieldsExtractor.java
index e7d112e49..94cc72505 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/KeyValueFieldsExtractor.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/KeyValueFieldsExtractor.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.schema;
 
-import org.apache.flink.table.store.types.DataField;
+import org.apache.paimon.types.DataField;
 
 import java.io.Serializable;
 import java.util.List;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/Schema.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/Schema.java
index 13b0314dd..e4b4e3b88 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/Schema.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/Schema.java
@@ -18,10 +18,10 @@
 
 package org.apache.flink.table.store.file.schema;
 
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaChange.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaChange.java
index 6b46d9f6a..222ccf9f3 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaChange.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaChange.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.schema;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaEvolutionUtil.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaEvolutionUtil.java
index dda6b6acf..a64c56f2f 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaEvolutionUtil.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaEvolutionUtil.java
@@ -25,15 +25,15 @@ import org.apache.flink.table.store.file.casting.CastFieldGetter;
 import org.apache.paimon.file.predicate.LeafPredicate;
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateReplaceVisitor;
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeFamily;
-import org.apache.flink.table.store.types.MapType;
-import org.apache.flink.table.store.types.MultisetType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.ProjectedRow;
-import org.apache.flink.table.store.utils.RowDataUtils;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeFamily;
+import org.apache.paimon.types.MapType;
+import org.apache.paimon.types.MultisetType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.ProjectedRow;
+import org.apache.paimon.utils.RowDataUtils;
 
 import org.apache.paimon.data.InternalRow;
 
@@ -48,8 +48,8 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.stream.Collectors;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
-import static org.apache.flink.table.store.utils.Preconditions.checkState;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkState;
 
 /** Utils for schema evolution. */
 public class SchemaEvolutionUtil {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaManager.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaManager.java
index 37f562190..313a3cfe3 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaManager.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaManager.java
@@ -33,13 +33,13 @@ import org.apache.flink.table.store.file.schema.SchemaChange.UpdateColumnType;
 import org.apache.flink.table.store.file.utils.JsonSerdeUtil;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeCasts;
-import org.apache.flink.table.store.types.DataTypeVisitor;
-import org.apache.flink.table.store.types.ReassignFieldId;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeCasts;
+import org.apache.paimon.types.DataTypeVisitor;
+import org.apache.paimon.types.ReassignFieldId;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 
@@ -60,7 +60,7 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import static org.apache.flink.table.store.file.utils.FileUtils.listVersionedFiles;
-import static org.apache.flink.table.store.utils.Preconditions.checkState;
+import static org.apache.paimon.utils.Preconditions.checkState;
 
 /** Schema Manager to manage schema versions. */
 public class SchemaManager implements Serializable {
@@ -396,7 +396,7 @@ public class SchemaManager implements Serializable {
                 } else {
                     List<DataField> nestedFields =
                             new ArrayList<>(
-                                    ((org.apache.flink.table.store.types.RowType) field.type())
+                                    ((org.apache.paimon.types.RowType) field.type())
                                             .getFields());
                     updateNestedColumn(nestedFields, updateFieldNames, index + 1, updateFunc);
                     newFields.set(
@@ -404,7 +404,7 @@ public class SchemaManager implements Serializable {
                             new DataField(
                                     field.id(),
                                     field.name(),
-                                    new org.apache.flink.table.store.types.RowType(
+                                    new org.apache.paimon.types.RowType(
                                             field.type().isNullable(), nestedFields),
                                     field.description()));
                 }
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaSerializer.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaSerializer.java
index c955c60c6..ff4b8d467 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaSerializer.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaSerializer.java
@@ -20,9 +20,9 @@ package org.apache.flink.table.store.file.schema;
 
 import org.apache.flink.table.store.file.utils.JsonDeserializer;
 import org.apache.flink.table.store.file.utils.JsonSerializer;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataTypeJsonParser;
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataTypeJsonParser;
+import org.apache.paimon.utils.StringUtils;
 
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaValidation.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaValidation.java
index 32422a4f6..7e4f6a166 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaValidation.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/SchemaValidation.java
@@ -21,12 +21,12 @@ package org.apache.flink.table.store.file.schema;
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
 import org.apache.paimon.options.ConfigOption;
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.MapType;
-import org.apache.flink.table.store.types.MultisetType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.MapType;
+import org.apache.paimon.types.MultisetType;
+import org.apache.paimon.types.RowType;
 
 import java.util.Arrays;
 import java.util.HashMap;
@@ -43,8 +43,8 @@ import static org.apache.flink.table.store.CoreOptions.SNAPSHOT_NUM_RETAINED_MIN
 import static org.apache.flink.table.store.file.WriteMode.APPEND_ONLY;
 import static org.apache.flink.table.store.file.schema.SystemColumns.KEY_FIELD_PREFIX;
 import static org.apache.flink.table.store.file.schema.SystemColumns.SYSTEM_FIELD_NAMES;
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
-import static org.apache.flink.table.store.utils.Preconditions.checkState;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkState;
 
 /** Validation utils for {@link TableSchema}. */
 public class SchemaValidation {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/TableSchema.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/TableSchema.java
index 2b7565705..af0148b16 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/TableSchema.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/schema/TableSchema.java
@@ -19,10 +19,10 @@
 package org.apache.flink.table.store.file.schema;
 
 import org.apache.flink.table.store.file.utils.JsonSerdeUtil;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Preconditions;
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Preconditions;
+import org.apache.paimon.utils.StringUtils;
 
 import java.io.Serializable;
 import java.util.Arrays;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/BinaryInMemorySortBuffer.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/BinaryInMemorySortBuffer.java
index e6d357e99..6ebe1927c 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/BinaryInMemorySortBuffer.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/BinaryInMemorySortBuffer.java
@@ -34,7 +34,7 @@ import java.io.EOFException;
 import java.io.IOException;
 import java.util.ArrayList;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /**
  * In memory sort buffer for binary row. The main code is copied from Flink {@code
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/BinaryMergeIterator.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/BinaryMergeIterator.java
index f2668214d..955f739d8 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/BinaryMergeIterator.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/BinaryMergeIterator.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import java.util.Comparator;
 import java.util.List;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /** Binary version of {@code MergeIterator}. Use {@code RecordComparator} to compare record. */
 public class BinaryMergeIterator<Entry> implements MutableObjectIterator<Entry> {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/SpillChannelManager.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/SpillChannelManager.java
index 007659dec..4c7cc0164 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/SpillChannelManager.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/sort/SpillChannelManager.java
@@ -26,7 +26,7 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /** Channel manager to manage the life cycle of spill channels. */
 public class SpillChannelManager implements Closeable {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/BinaryTableStats.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/BinaryTableStats.java
index 6fc066776..4ea0a3d75 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/BinaryTableStats.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/BinaryTableStats.java
@@ -32,7 +32,7 @@ import java.util.Objects;
 
 import static org.apache.flink.table.store.file.utils.SerializationUtils.deserializeBinaryRow;
 import static org.apache.flink.table.store.file.utils.SerializationUtils.serializeBinaryRow;
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /** A serialized row bytes to cache {@link FieldStats}. */
 public class BinaryTableStats {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/FieldStatsArraySerializer.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/FieldStatsArraySerializer.java
index ed7550de1..859c7e73f 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/FieldStatsArraySerializer.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/FieldStatsArraySerializer.java
@@ -19,12 +19,12 @@
 package org.apache.flink.table.store.file.stats;
 
 import org.apache.flink.table.store.file.casting.CastExecutor;
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.RowDataUtils;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.RowDataUtils;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/FieldStatsConverters.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/FieldStatsConverters.java
index 9725f9a3a..cab43f66e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/FieldStatsConverters.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/stats/FieldStatsConverters.java
@@ -20,8 +20,8 @@ package org.apache.flink.table.store.file.stats;
 
 import org.apache.flink.table.store.file.casting.CastExecutor;
 import org.apache.flink.table.store.file.schema.SchemaEvolutionUtil;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowType;
 
 import java.util.List;
 import java.util.concurrent.ConcurrentHashMap;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/BulkFormatMapping.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/BulkFormatMapping.java
index 1eeba424a..3c344b7f2 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/BulkFormatMapping.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/BulkFormatMapping.java
@@ -25,9 +25,9 @@ import org.apache.flink.table.store.file.schema.IndexCastMapping;
 import org.apache.flink.table.store.file.schema.KeyValueFieldsExtractor;
 import org.apache.flink.table.store.file.schema.SchemaEvolutionUtil;
 import org.apache.flink.table.store.file.schema.TableSchema;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Projection;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Projection;
 
 import org.apache.paimon.format.FileFormatDiscover;
 import org.apache.paimon.format.FormatReaderFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/ExecutorThreadFactory.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/ExecutorThreadFactory.java
index ea3cda455..7624ab65f 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/ExecutorThreadFactory.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/ExecutorThreadFactory.java
@@ -23,7 +23,7 @@ import javax.annotation.Nullable;
 import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /**
  * A thread factory intended for use by critical thread pools. Critical thread pools here mean
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/FileStorePathFactory.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/FileStorePathFactory.java
index 067cc0c42..ea52cceb5 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/FileStorePathFactory.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/FileStorePathFactory.java
@@ -22,8 +22,8 @@ import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.io.DataFilePathFactory;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.options.ConfigOption;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.BinaryRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/FileUtils.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/FileUtils.java
index cd2204d1a..9f4dbf216 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/FileUtils.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/FileUtils.java
@@ -21,7 +21,7 @@ package org.apache.flink.table.store.file.utils;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.FileStatus;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FormatReaderFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/IteratorRecordReader.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/IteratorRecordReader.java
index b2e7789c5..4c8c7d932 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/IteratorRecordReader.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/IteratorRecordReader.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.utils;
 
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/JsonSerdeUtil.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/JsonSerdeUtil.java
index c8ee6500f..c94459f75 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/JsonSerdeUtil.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/JsonSerdeUtil.java
@@ -20,9 +20,9 @@ package org.apache.flink.table.store.file.utils;
 
 import org.apache.flink.table.store.file.schema.SchemaSerializer;
 import org.apache.flink.table.store.file.schema.TableSchema;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeJsonParser;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeJsonParser;
 
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonParser;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/KeyComparatorSupplier.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/KeyComparatorSupplier.java
index 23100bd92..051be6f7c 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/KeyComparatorSupplier.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/KeyComparatorSupplier.java
@@ -21,7 +21,7 @@ package org.apache.flink.table.store.file.utils;
 import org.apache.flink.table.store.codegen.CodeGenUtils;
 import org.apache.flink.table.store.codegen.GeneratedClass;
 import org.apache.flink.table.store.codegen.RecordComparator;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/ObjectSerializer.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/ObjectSerializer.java
index 56c3e18da..39dd8fb33 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/ObjectSerializer.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/ObjectSerializer.java
@@ -22,7 +22,7 @@ import org.apache.paimon.io.DataInputView;
 import org.apache.paimon.io.DataInputViewStreamWrapper;
 import org.apache.paimon.io.DataOutputView;
 import org.apache.paimon.io.DataOutputViewStreamWrapper;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.data.serializer.InternalRowSerializer;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/OffsetRow.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/OffsetRow.java
index fad055fd1..ce5af39c0 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/OffsetRow.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/OffsetRow.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.file.utils;
 
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.Decimal;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/RowDataPartitionComputer.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/RowDataPartitionComputer.java
index dc7102a9c..b8ce90258 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/RowDataPartitionComputer.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/RowDataPartitionComputer.java
@@ -18,9 +18,9 @@
 
 package org.apache.flink.table.store.file.utils;
 
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.RowDataUtils;
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.RowDataUtils;
+import org.apache.paimon.utils.StringUtils;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/SerializationUtils.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/SerializationUtils.java
index ddcb846e2..638bc5772 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/SerializationUtils.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/SerializationUtils.java
@@ -21,8 +21,8 @@ package org.apache.flink.table.store.file.utils;
 import org.apache.paimon.io.DataInputView;
 import org.apache.paimon.io.DataOutputView;
 import org.apache.paimon.memory.MemorySegment;
-import org.apache.flink.table.store.types.VarBinaryType;
-import org.apache.flink.table.store.types.VarCharType;
+import org.apache.paimon.types.VarBinaryType;
+import org.apache.paimon.types.VarCharType;
 
 import org.apache.paimon.data.BinaryRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/SnapshotManager.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/SnapshotManager.java
index c7da43466..f5c02bebd 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/SnapshotManager.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/SnapshotManager.java
@@ -21,7 +21,7 @@ package org.apache.flink.table.store.file.utils;
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/VersionedObjectSerializer.java b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/VersionedObjectSerializer.java
index 6a7676a8e..a4c051235 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/VersionedObjectSerializer.java
+++ b/flink-table-store-core/src/main/java/org/apache/flink/table/store/file/utils/VersionedObjectSerializer.java
@@ -18,9 +18,9 @@
 
 package org.apache.flink.table.store.file.utils;
 
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/paimon/file/predicate/BucketSelector.java b/flink-table-store-core/src/main/java/org/apache/paimon/file/predicate/BucketSelector.java
index 7d67c386c..b8d0dd2a7 100644
--- a/flink-table-store-core/src/main/java/org/apache/paimon/file/predicate/BucketSelector.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/file/predicate/BucketSelector.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.table.sink.BucketComputer;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.table.sink.BucketComputer;
+import org.apache.paimon.types.RowType;
 
 import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableSet;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/AbstractFileStoreTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/AbstractFileStoreTable.java
similarity index 90%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/AbstractFileStoreTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/AbstractFileStoreTable.java
index f125892ca..6f8c2a346 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/AbstractFileStoreTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/AbstractFileStoreTable.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.FileStore;
@@ -29,14 +29,14 @@ import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.table.sink.TableCommitImpl;
-import org.apache.flink.table.store.table.source.BatchDataTableScan;
-import org.apache.flink.table.store.table.source.BatchDataTableScanImpl;
-import org.apache.flink.table.store.table.source.SplitGenerator;
-import org.apache.flink.table.store.table.source.StreamDataTableScan;
-import org.apache.flink.table.store.table.source.StreamDataTableScanImpl;
-import org.apache.flink.table.store.table.source.snapshot.SnapshotSplitReader;
-import org.apache.flink.table.store.table.source.snapshot.SnapshotSplitReaderImpl;
+import org.apache.paimon.table.sink.TableCommitImpl;
+import org.apache.paimon.table.source.BatchDataTableScan;
+import org.apache.paimon.table.source.BatchDataTableScanImpl;
+import org.apache.paimon.table.source.SplitGenerator;
+import org.apache.paimon.table.source.StreamDataTableScan;
+import org.apache.paimon.table.source.StreamDataTableScanImpl;
+import org.apache.paimon.table.source.snapshot.SnapshotSplitReader;
+import org.apache.paimon.table.source.snapshot.SnapshotSplitReaderImpl;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/AppendOnlyFileStoreTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/AppendOnlyFileStoreTable.java
similarity index 87%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/AppendOnlyFileStoreTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/AppendOnlyFileStoreTable.java
index 1f93960b7..c51425de5 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/AppendOnlyFileStoreTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/AppendOnlyFileStoreTable.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.AppendOnlyFileStore;
@@ -29,16 +29,16 @@ import org.apache.paimon.file.predicate.Predicate;
 import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.sink.SinkRecordConverter;
-import org.apache.flink.table.store.table.sink.TableWriteImpl;
-import org.apache.flink.table.store.table.source.AppendOnlySplitGenerator;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.table.source.InnerTableRead;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.SplitGenerator;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.sink.SinkRecordConverter;
+import org.apache.paimon.table.sink.TableWriteImpl;
+import org.apache.paimon.table.source.AppendOnlySplitGenerator;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.table.source.InnerTableRead;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.SplitGenerator;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/ChangelogValueCountFileStoreTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/ChangelogValueCountFileStoreTable.java
similarity index 89%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/ChangelogValueCountFileStoreTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/ChangelogValueCountFileStoreTable.java
index 27c9d138e..28b9ec337 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/ChangelogValueCountFileStoreTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/ChangelogValueCountFileStoreTable.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.KeyValue;
@@ -33,18 +33,18 @@ import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.flink.table.store.file.stats.BinaryTableStats;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.sink.SinkRecordConverter;
-import org.apache.flink.table.store.table.sink.TableWriteImpl;
-import org.apache.flink.table.store.table.source.InnerTableRead;
-import org.apache.flink.table.store.table.source.KeyValueTableRead;
-import org.apache.flink.table.store.table.source.MergeTreeSplitGenerator;
-import org.apache.flink.table.store.table.source.SplitGenerator;
-import org.apache.flink.table.store.table.source.ValueCountRowDataRecordIterator;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.sink.SinkRecordConverter;
+import org.apache.paimon.table.sink.TableWriteImpl;
+import org.apache.paimon.table.source.InnerTableRead;
+import org.apache.paimon.table.source.KeyValueTableRead;
+import org.apache.paimon.table.source.MergeTreeSplitGenerator;
+import org.apache.paimon.table.source.SplitGenerator;
+import org.apache.paimon.table.source.ValueCountRowDataRecordIterator;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/ChangelogWithKeyFileStoreTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/ChangelogWithKeyFileStoreTable.java
similarity index 93%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/ChangelogWithKeyFileStoreTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/ChangelogWithKeyFileStoreTable.java
index 15ffc798a..f67864fee 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/ChangelogWithKeyFileStoreTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/ChangelogWithKeyFileStoreTable.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.CoreOptions.ChangelogProducer;
@@ -36,17 +36,17 @@ import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.sink.SequenceGenerator;
-import org.apache.flink.table.store.table.sink.SinkRecordConverter;
-import org.apache.flink.table.store.table.sink.TableWriteImpl;
-import org.apache.flink.table.store.table.source.InnerTableRead;
-import org.apache.flink.table.store.table.source.KeyValueTableRead;
-import org.apache.flink.table.store.table.source.MergeTreeSplitGenerator;
-import org.apache.flink.table.store.table.source.SplitGenerator;
-import org.apache.flink.table.store.table.source.ValueContentRowDataRecordIterator;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.sink.SequenceGenerator;
+import org.apache.paimon.table.sink.SinkRecordConverter;
+import org.apache.paimon.table.sink.TableWriteImpl;
+import org.apache.paimon.table.source.InnerTableRead;
+import org.apache.paimon.table.source.KeyValueTableRead;
+import org.apache.paimon.table.source.MergeTreeSplitGenerator;
+import org.apache.paimon.table.source.SplitGenerator;
+import org.apache.paimon.table.source.ValueContentRowDataRecordIterator;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/DataTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/DataTable.java
similarity index 83%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/DataTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/DataTable.java
index 2ff7770fb..da47ba3d0 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/DataTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/DataTable.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.table.source.BatchDataTableScan;
-import org.apache.flink.table.store.table.source.StreamDataTableScan;
-import org.apache.flink.table.store.table.source.snapshot.SnapshotSplitReader;
+import org.apache.paimon.table.source.BatchDataTableScan;
+import org.apache.paimon.table.source.StreamDataTableScan;
+import org.apache.paimon.table.source.snapshot.SnapshotSplitReader;
 
 /** A {@link Table} for data. */
 public interface DataTable extends InnerTable {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/FileStoreTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/FileStoreTable.java
similarity index 89%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/FileStoreTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/FileStoreTable.java
index 572b0f86c..7b53fdace 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/FileStoreTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/FileStoreTable.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.flink.table.store.file.stats.BinaryTableStats;
-import org.apache.flink.table.store.table.sink.TableCommitImpl;
-import org.apache.flink.table.store.table.sink.TableWriteImpl;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.table.sink.TableCommitImpl;
+import org.apache.paimon.table.sink.TableWriteImpl;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/FileStoreTableFactory.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/FileStoreTableFactory.java
similarity index 98%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/FileStoreTableFactory.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/FileStoreTableFactory.java
index 37e9aa4c4..4aae3148a 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/FileStoreTableFactory.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/FileStoreTableFactory.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.catalog.CatalogContext;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/InnerTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/InnerTable.java
similarity index 65%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/InnerTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/InnerTable.java
index 26af910e1..456834ebc 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/InnerTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/InnerTable.java
@@ -16,19 +16,19 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
-
-import org.apache.flink.table.store.table.sink.BatchWriteBuilder;
-import org.apache.flink.table.store.table.sink.BatchWriteBuilderImpl;
-import org.apache.flink.table.store.table.sink.InnerTableCommit;
-import org.apache.flink.table.store.table.sink.InnerTableWrite;
-import org.apache.flink.table.store.table.sink.StreamWriteBuilder;
-import org.apache.flink.table.store.table.sink.StreamWriteBuilderImpl;
-import org.apache.flink.table.store.table.source.InnerStreamTableScan;
-import org.apache.flink.table.store.table.source.InnerTableRead;
-import org.apache.flink.table.store.table.source.InnerTableScan;
-import org.apache.flink.table.store.table.source.ReadBuilder;
-import org.apache.flink.table.store.table.source.ReadBuilderImpl;
+package org.apache.paimon.table;
+
+import org.apache.paimon.table.sink.BatchWriteBuilder;
+import org.apache.paimon.table.sink.BatchWriteBuilderImpl;
+import org.apache.paimon.table.sink.InnerTableCommit;
+import org.apache.paimon.table.sink.InnerTableWrite;
+import org.apache.paimon.table.sink.StreamWriteBuilder;
+import org.apache.paimon.table.sink.StreamWriteBuilderImpl;
+import org.apache.paimon.table.source.InnerStreamTableScan;
+import org.apache.paimon.table.source.InnerTableRead;
+import org.apache.paimon.table.source.InnerTableScan;
+import org.apache.paimon.table.source.ReadBuilder;
+import org.apache.paimon.table.source.ReadBuilderImpl;
 
 /** Inner table for implementation, provide newScan, newRead ... directly. */
 public interface InnerTable extends Table {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/ReadonlyTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/ReadonlyTable.java
similarity index 86%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/ReadonlyTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/ReadonlyTable.java
index ac25a2a76..479d930f6 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/ReadonlyTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/ReadonlyTable.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
-import org.apache.flink.table.store.table.sink.BatchWriteBuilder;
-import org.apache.flink.table.store.table.sink.InnerTableCommit;
-import org.apache.flink.table.store.table.sink.InnerTableWrite;
-import org.apache.flink.table.store.table.sink.StreamWriteBuilder;
-import org.apache.flink.table.store.table.source.InnerStreamTableScan;
+import org.apache.paimon.table.sink.BatchWriteBuilder;
+import org.apache.paimon.table.sink.InnerTableCommit;
+import org.apache.paimon.table.sink.InnerTableWrite;
+import org.apache.paimon.table.sink.StreamWriteBuilder;
+import org.apache.paimon.table.source.InnerStreamTableScan;
 
 /** Readonly table which only provide implementation for scan and read. */
 public interface ReadonlyTable extends InnerTable {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/SupportsPartition.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/SupportsPartition.java
similarity index 95%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/SupportsPartition.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/SupportsPartition.java
index 7d2944ff0..9a13d8d13 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/SupportsPartition.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/SupportsPartition.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import java.util.List;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/Table.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/Table.java
similarity index 84%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/Table.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/Table.java
index 974114373..3159d03e7 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/Table.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/Table.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
-import org.apache.flink.table.store.table.sink.BatchWriteBuilder;
-import org.apache.flink.table.store.table.sink.StreamWriteBuilder;
-import org.apache.flink.table.store.table.source.ReadBuilder;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.table.sink.BatchWriteBuilder;
+import org.apache.paimon.table.sink.StreamWriteBuilder;
+import org.apache.paimon.table.source.ReadBuilder;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/TableUtils.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/TableUtils.java
similarity index 80%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/TableUtils.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/TableUtils.java
index 037ec8546..b6cf73e7b 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/TableUtils.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/TableUtils.java
@@ -16,20 +16,20 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.file.operation.Lock;
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateFilter;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.sink.BatchTableCommit;
-import org.apache.flink.table.store.table.sink.BatchTableWrite;
-import org.apache.flink.table.store.table.sink.BatchWriteBuilder;
-import org.apache.flink.table.store.table.sink.InnerTableCommit;
-import org.apache.flink.table.store.table.source.ReadBuilder;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.utils.CloseableIterator;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.sink.BatchTableCommit;
+import org.apache.paimon.table.sink.BatchTableWrite;
+import org.apache.paimon.table.sink.BatchWriteBuilder;
+import org.apache.paimon.table.sink.InnerTableCommit;
+import org.apache.paimon.table.source.ReadBuilder;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.utils.CloseableIterator;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchTableCommit.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchTableCommit.java
similarity index 97%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchTableCommit.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchTableCommit.java
index 3bff2ce73..242263f64 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchTableCommit.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchTableCommit.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchTableWrite.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchTableWrite.java
similarity index 96%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchTableWrite.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchTableWrite.java
index b40276c06..30c05ee99 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchTableWrite.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchTableWrite.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchWriteBuilder.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchWriteBuilder.java
similarity index 98%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchWriteBuilder.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchWriteBuilder.java
index d90b46a0f..c2e725adc 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchWriteBuilder.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchWriteBuilder.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.paimon.annotation.Experimental;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchWriteBuilderImpl.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchWriteBuilderImpl.java
similarity index 93%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchWriteBuilderImpl.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchWriteBuilderImpl.java
index c7694c9e1..a1342e652 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BatchWriteBuilderImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BatchWriteBuilderImpl.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
-import org.apache.flink.table.store.table.InnerTable;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.table.InnerTable;
+import org.apache.paimon.types.RowType;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BucketComputer.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BucketComputer.java
similarity index 96%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BucketComputer.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BucketComputer.java
index 6fce6a210..9cc44e1c1 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/BucketComputer.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/BucketComputer.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.codegen.CodeGenUtils;
 import org.apache.flink.table.store.codegen.Projection;
 import org.apache.flink.table.store.file.schema.TableSchema;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/CommitMessage.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/CommitMessage.java
similarity index 96%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/CommitMessage.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/CommitMessage.java
index c4af9c4fd..b969bb18d 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/CommitMessage.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/CommitMessage.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.paimon.annotation.Experimental;
 import org.apache.paimon.data.BinaryRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/CommitMessageImpl.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/CommitMessageImpl.java
similarity index 98%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/CommitMessageImpl.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/CommitMessageImpl.java
index 494204360..587fcd286 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/CommitMessageImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/CommitMessageImpl.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.file.io.CompactIncrement;
 import org.apache.flink.table.store.file.io.NewFilesIncrement;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/CommitMessageSerializer.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/CommitMessageSerializer.java
similarity index 99%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/CommitMessageSerializer.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/CommitMessageSerializer.java
index 2f4bc7352..e66fd69d9 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/CommitMessageSerializer.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/CommitMessageSerializer.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.file.io.CompactIncrement;
 import org.apache.flink.table.store.file.io.DataFileMetaSerializer;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/InnerTableCommit.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/InnerTableCommit.java
similarity index 97%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/InnerTableCommit.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/InnerTableCommit.java
index e9a792825..aff78b51b 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/InnerTableCommit.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/InnerTableCommit.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.file.operation.Lock;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/InnerTableWrite.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/InnerTableWrite.java
similarity index 95%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/InnerTableWrite.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/InnerTableWrite.java
index e2b51378b..a7044adcf 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/InnerTableWrite.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/InnerTableWrite.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 /** Inner {@link TableWrite} contains overwrite setter. */
 public interface InnerTableWrite extends StreamTableWrite, BatchTableWrite {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/PartitionComputer.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/PartitionComputer.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/PartitionComputer.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/PartitionComputer.java
index c54418cd7..d7d173726 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/PartitionComputer.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/PartitionComputer.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.codegen.CodeGenUtils;
 import org.apache.flink.table.store.codegen.Projection;
 import org.apache.flink.table.store.file.schema.TableSchema;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/SequenceGenerator.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/SequenceGenerator.java
similarity index 80%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/SequenceGenerator.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/SequenceGenerator.java
index 32040e997..07e8f98be 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/SequenceGenerator.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/SequenceGenerator.java
@@ -16,24 +16,24 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
-
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.CharType;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeDefaultVisitor;
-import org.apache.flink.table.store.types.DateType;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.DoubleType;
-import org.apache.flink.table.store.types.FloatType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.LocalZonedTimestampType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.SmallIntType;
-import org.apache.flink.table.store.types.TimestampType;
-import org.apache.flink.table.store.types.TinyIntType;
-import org.apache.flink.table.store.types.VarCharType;
-import org.apache.flink.table.store.utils.RowDataUtils;
+package org.apache.paimon.table.sink;
+
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.CharType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeDefaultVisitor;
+import org.apache.paimon.types.DateType;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.DoubleType;
+import org.apache.paimon.types.FloatType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.LocalZonedTimestampType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.SmallIntType;
+import org.apache.paimon.types.TimestampType;
+import org.apache.paimon.types.TinyIntType;
+import org.apache.paimon.types.VarCharType;
+import org.apache.paimon.utils.RowDataUtils;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/SinkRecord.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/SinkRecord.java
similarity index 90%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/SinkRecord.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/SinkRecord.java
index a9edb602e..2b7021ee7 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/SinkRecord.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/SinkRecord.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.InternalRow;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /** A sink record contains key, row and partition, bucket information. */
 public class SinkRecord {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/SinkRecordConverter.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/SinkRecordConverter.java
similarity index 97%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/SinkRecordConverter.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/SinkRecordConverter.java
index 799b42c77..c474413ce 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/SinkRecordConverter.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/SinkRecordConverter.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.codegen.CodeGenUtils;
 import org.apache.flink.table.store.codegen.Projection;
 import org.apache.flink.table.store.file.schema.TableSchema;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamTableCommit.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamTableCommit.java
similarity index 98%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamTableCommit.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamTableCommit.java
index c788a7b95..068f6430c 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamTableCommit.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamTableCommit.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamTableWrite.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamTableWrite.java
similarity index 97%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamTableWrite.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamTableWrite.java
index 649df6f75..b5545eb18 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamTableWrite.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamTableWrite.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamWriteBuilder.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamWriteBuilder.java
similarity index 97%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamWriteBuilder.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamWriteBuilder.java
index e51911765..f147a17c3 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamWriteBuilder.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamWriteBuilder.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.paimon.annotation.Experimental;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamWriteBuilderImpl.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamWriteBuilderImpl.java
similarity index 92%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamWriteBuilderImpl.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamWriteBuilderImpl.java
index c59887759..402b0beb2 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/StreamWriteBuilderImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/StreamWriteBuilderImpl.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
-import org.apache.flink.table.store.table.InnerTable;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.table.InnerTable;
+import org.apache.paimon.types.RowType;
 
 import java.util.UUID;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableCommit.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableCommit.java
similarity index 92%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableCommit.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableCommit.java
index a8b8d4cd1..8b60f1a17 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableCommit.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableCommit.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
-import org.apache.flink.table.store.table.Table;
+import org.apache.paimon.table.Table;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableCommitImpl.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableCommitImpl.java
similarity index 97%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableCommitImpl.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableCommitImpl.java
index 528e5e606..ad67bfd37 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableCommitImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableCommitImpl.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.file.manifest.ManifestCommittable;
 import org.apache.flink.table.store.file.operation.FileStoreCommit;
@@ -32,7 +32,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkState;
+import static org.apache.paimon.utils.Preconditions.checkState;
 
 /**
  * An abstraction layer above {@link FileStoreCommit} and {@link FileStoreExpire} to provide
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableWrite.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableWrite.java
similarity index 95%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableWrite.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableWrite.java
index 52d704338..18b0a72ff 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableWrite.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableWrite.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.file.disk.IOManager;
-import org.apache.flink.table.store.table.Table;
+import org.apache.paimon.table.Table;
 
 import org.apache.paimon.annotation.Experimental;
 import org.apache.paimon.data.BinaryRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableWriteImpl.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableWriteImpl.java
similarity index 97%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableWriteImpl.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableWriteImpl.java
index 58215b955..c824791fa 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/TableWriteImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/TableWriteImpl.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.file.disk.IOManager;
 import org.apache.flink.table.store.file.io.DataFileMeta;
@@ -29,7 +29,7 @@ import org.apache.paimon.data.InternalRow;
 
 import java.util.List;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkState;
+import static org.apache.paimon.utils.Preconditions.checkState;
 
 /**
  * {@link TableWrite} implementation.
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/WriteBuilder.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/WriteBuilder.java
similarity index 93%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/WriteBuilder.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/sink/WriteBuilder.java
index a52f6401f..d33a51d7f 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/sink/WriteBuilder.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/sink/WriteBuilder.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.annotation.Experimental;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/AbstractDataTableScan.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/AbstractDataTableScan.java
similarity index 82%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/AbstractDataTableScan.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/AbstractDataTableScan.java
index 935125c97..c55758fc6 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/AbstractDataTableScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/AbstractDataTableScan.java
@@ -16,23 +16,23 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.operation.FileStoreScan;
 import org.apache.flink.table.store.file.operation.ScanKind;
 import org.apache.paimon.file.predicate.Predicate;
-import org.apache.flink.table.store.table.source.snapshot.CompactedStartingScanner;
-import org.apache.flink.table.store.table.source.snapshot.ContinuousFromSnapshotStartingScanner;
-import org.apache.flink.table.store.table.source.snapshot.ContinuousFromTimestampStartingScanner;
-import org.apache.flink.table.store.table.source.snapshot.ContinuousLatestStartingScanner;
-import org.apache.flink.table.store.table.source.snapshot.FullStartingScanner;
-import org.apache.flink.table.store.table.source.snapshot.SnapshotSplitReader;
-import org.apache.flink.table.store.table.source.snapshot.StartingScanner;
-import org.apache.flink.table.store.table.source.snapshot.StaticFromSnapshotStartingScanner;
-import org.apache.flink.table.store.table.source.snapshot.StaticFromTimestampStartingScanner;
-import org.apache.flink.table.store.utils.Filter;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.table.source.snapshot.CompactedStartingScanner;
+import org.apache.paimon.table.source.snapshot.ContinuousFromSnapshotStartingScanner;
+import org.apache.paimon.table.source.snapshot.ContinuousFromTimestampStartingScanner;
+import org.apache.paimon.table.source.snapshot.ContinuousLatestStartingScanner;
+import org.apache.paimon.table.source.snapshot.FullStartingScanner;
+import org.apache.paimon.table.source.snapshot.SnapshotSplitReader;
+import org.apache.paimon.table.source.snapshot.StartingScanner;
+import org.apache.paimon.table.source.snapshot.StaticFromSnapshotStartingScanner;
+import org.apache.paimon.table.source.snapshot.StaticFromTimestampStartingScanner;
+import org.apache.paimon.utils.Filter;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/AppendOnlySplitGenerator.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/AppendOnlySplitGenerator.java
similarity index 93%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/AppendOnlySplitGenerator.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/AppendOnlySplitGenerator.java
index 27780e855..60911d012 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/AppendOnlySplitGenerator.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/AppendOnlySplitGenerator.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
-import org.apache.flink.table.store.utils.OrderedPacking;
+import org.apache.paimon.utils.OrderedPacking;
 
 import java.util.List;
 import java.util.function.Function;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/BatchDataTableScan.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/BatchDataTableScan.java
similarity index 88%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/BatchDataTableScan.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/BatchDataTableScan.java
index 787aa7e95..4a3e0bcf7 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/BatchDataTableScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/BatchDataTableScan.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
-import org.apache.flink.table.store.table.DataTable;
-import org.apache.flink.table.store.table.source.snapshot.StartingScanner;
+import org.apache.paimon.table.DataTable;
+import org.apache.paimon.table.source.snapshot.StartingScanner;
 
 import java.io.Serializable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/BatchDataTableScanImpl.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/BatchDataTableScanImpl.java
similarity index 91%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/BatchDataTableScanImpl.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/BatchDataTableScanImpl.java
index 1bd7dacf1..ace89db99 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/BatchDataTableScanImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/BatchDataTableScanImpl.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.snapshot.SnapshotSplitReader;
-import org.apache.flink.table.store.table.source.snapshot.StartingScanner;
+import org.apache.paimon.table.source.snapshot.SnapshotSplitReader;
+import org.apache.paimon.table.source.snapshot.StartingScanner;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/DataSplit.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/DataSplit.java
similarity index 99%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/DataSplit.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/DataSplit.java
index 6ae99ea29..151646c51 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/DataSplit.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/DataSplit.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.io.DataFileMetaSerializer;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/DataTableScan.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/DataTableScan.java
similarity index 95%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/DataTableScan.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/DataTableScan.java
index 8e72638d4..bb2f96ec8 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/DataTableScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/DataTableScan.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.operation.ScanKind;
 import org.apache.paimon.file.predicate.Predicate;
-import org.apache.flink.table.store.utils.Filter;
+import org.apache.paimon.utils.Filter;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/EndOfScanException.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/EndOfScanException.java
similarity index 95%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/EndOfScanException.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/EndOfScanException.java
index 000c2e1a7..167de5907 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/EndOfScanException.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/EndOfScanException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/InnerStreamTableScan.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/InnerStreamTableScan.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/InnerStreamTableScan.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/InnerStreamTableScan.java
index 8ddeb7ae2..e36a40e49 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/InnerStreamTableScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/InnerStreamTableScan.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 /** Streaming {@link InnerTableScan} with {@link StreamTableScan}. */
 public interface InnerStreamTableScan extends InnerTableScan, StreamTableScan {}
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/InnerTableRead.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/InnerTableRead.java
similarity index 97%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/InnerTableRead.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/InnerTableRead.java
index 37b07fe04..47829e634 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/InnerTableRead.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/InnerTableRead.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateBuilder;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/InnerTableScan.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/InnerTableScan.java
similarity index 96%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/InnerTableScan.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/InnerTableScan.java
index eba70a583..a995ab293 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/InnerTableScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/InnerTableScan.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateBuilder;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/KeyValueTableRead.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/KeyValueTableRead.java
similarity index 95%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/KeyValueTableRead.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/KeyValueTableRead.java
index e5a5d7b4c..41ace0185 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/KeyValueTableRead.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/KeyValueTableRead.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.KeyValue;
 import org.apache.flink.table.store.file.operation.KeyValueFileStoreRead;
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/MergeTreeSplitGenerator.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/MergeTreeSplitGenerator.java
similarity index 97%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/MergeTreeSplitGenerator.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/MergeTreeSplitGenerator.java
index a20d6baef..2f8b57766 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/MergeTreeSplitGenerator.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/MergeTreeSplitGenerator.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.mergetree.SortedRun;
 import org.apache.flink.table.store.file.mergetree.compact.IntervalPartition;
-import org.apache.flink.table.store.utils.OrderedPacking;
+import org.apache.paimon.utils.OrderedPacking;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ReadBuilder.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ReadBuilder.java
similarity index 97%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ReadBuilder.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/ReadBuilder.java
index 77ee3b582..2799df317 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ReadBuilder.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ReadBuilder.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateBuilder;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.annotation.Experimental;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ReadBuilderImpl.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ReadBuilderImpl.java
similarity index 91%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ReadBuilderImpl.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/ReadBuilderImpl.java
index 9341f7419..fa5598950 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ReadBuilderImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ReadBuilderImpl.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.paimon.file.predicate.Predicate;
-import org.apache.flink.table.store.table.InnerTable;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Projection;
-import org.apache.flink.table.store.utils.TypeUtils;
+import org.apache.paimon.table.InnerTable;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Projection;
+import org.apache.paimon.utils.TypeUtils;
 
 import java.util.Arrays;
 import java.util.Objects;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ReadOnceTableScan.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ReadOnceTableScan.java
similarity index 96%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ReadOnceTableScan.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/ReadOnceTableScan.java
index 357117d22..7efe2c4ff 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ReadOnceTableScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ReadOnceTableScan.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 /** An {@link InnerTableScan} for reading only once, this is for batch scan. */
 public abstract class ReadOnceTableScan implements InnerTableScan {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ResetRowKindRecordIterator.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ResetRowKindRecordIterator.java
similarity index 92%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ResetRowKindRecordIterator.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/ResetRowKindRecordIterator.java
index 765741286..ba299fc7d 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ResetRowKindRecordIterator.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ResetRowKindRecordIterator.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/Split.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/Split.java
similarity index 95%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/Split.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/Split.java
index bf35c505e..8bc4ff034 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/Split.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/Split.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/SplitGenerator.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/SplitGenerator.java
similarity index 95%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/SplitGenerator.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/SplitGenerator.java
index 6bb7daac0..dfdb33fa2 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/SplitGenerator.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/SplitGenerator.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/StreamDataTableScan.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/StreamDataTableScan.java
similarity index 92%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/StreamDataTableScan.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/StreamDataTableScan.java
index 46922c4ba..d8cec34d0 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/StreamDataTableScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/StreamDataTableScan.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.schema.TableSchema;
-import org.apache.flink.table.store.table.DataTable;
-import org.apache.flink.table.store.table.source.snapshot.FollowUpScanner;
-import org.apache.flink.table.store.table.source.snapshot.StartingScanner;
+import org.apache.paimon.table.DataTable;
+import org.apache.paimon.table.source.snapshot.FollowUpScanner;
+import org.apache.paimon.table.source.snapshot.StartingScanner;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/StreamDataTableScanImpl.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/StreamDataTableScanImpl.java
similarity index 89%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/StreamDataTableScanImpl.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/StreamDataTableScanImpl.java
index c0e61caa1..3d0348f89 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/StreamDataTableScanImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/StreamDataTableScanImpl.java
@@ -16,20 +16,20 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.snapshot.BoundedWatermarkFollowUpScanner;
-import org.apache.flink.table.store.table.source.snapshot.CompactedStartingScanner;
-import org.apache.flink.table.store.table.source.snapshot.CompactionChangelogFollowUpScanner;
-import org.apache.flink.table.store.table.source.snapshot.DeltaFollowUpScanner;
-import org.apache.flink.table.store.table.source.snapshot.FollowUpScanner;
-import org.apache.flink.table.store.table.source.snapshot.FullStartingScanner;
-import org.apache.flink.table.store.table.source.snapshot.InputChangelogFollowUpScanner;
-import org.apache.flink.table.store.table.source.snapshot.SnapshotSplitReader;
-import org.apache.flink.table.store.table.source.snapshot.StartingScanner;
+import org.apache.paimon.table.source.snapshot.BoundedWatermarkFollowUpScanner;
+import org.apache.paimon.table.source.snapshot.CompactedStartingScanner;
+import org.apache.paimon.table.source.snapshot.CompactionChangelogFollowUpScanner;
+import org.apache.paimon.table.source.snapshot.DeltaFollowUpScanner;
+import org.apache.paimon.table.source.snapshot.FollowUpScanner;
+import org.apache.paimon.table.source.snapshot.FullStartingScanner;
+import org.apache.paimon.table.source.snapshot.InputChangelogFollowUpScanner;
+import org.apache.paimon.table.source.snapshot.SnapshotSplitReader;
+import org.apache.paimon.table.source.snapshot.StartingScanner;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/StreamTableScan.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/StreamTableScan.java
similarity index 95%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/StreamTableScan.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/StreamTableScan.java
index 82ff8cd13..96205e2ce 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/StreamTableScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/StreamTableScan.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.utils.Restorable;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/TableRead.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/TableRead.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/TableRead.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/TableRead.java
index 9050e6543..9b753c610 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/TableRead.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/TableRead.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.mergetree.compact.ConcatRecordReader;
 import org.apache.flink.table.store.file.operation.FileStoreRead;
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import org.apache.paimon.annotation.Experimental;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/TableScan.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/TableScan.java
similarity index 92%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/TableScan.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/TableScan.java
index 1a9f42243..a28a02750 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/TableScan.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/TableScan.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
-import org.apache.flink.table.store.table.Table;
+import org.apache.paimon.table.Table;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/TableStreamingReader.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/TableStreamingReader.java
similarity index 93%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/TableStreamingReader.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/TableStreamingReader.java
index e66ce7daa..157dcc46a 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/TableStreamingReader.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/TableStreamingReader.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.mergetree.compact.ConcatRecordReader;
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateFilter;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
-import org.apache.flink.table.store.table.FileStoreTable;
-import org.apache.flink.table.store.table.source.DataTableScan.DataFilePlan;
-import org.apache.flink.table.store.utils.TypeUtils;
+import org.apache.paimon.reader.RecordReaderIterator;
+import org.apache.paimon.table.FileStoreTable;
+import org.apache.paimon.table.source.DataTableScan.DataFilePlan;
+import org.apache.paimon.utils.TypeUtils;
 
 import org.apache.flink.shaded.guava30.com.google.common.collect.Iterators;
 import org.apache.flink.shaded.guava30.com.google.common.primitives.Ints;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ValueContentRowDataRecordIterator.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ValueContentRowDataRecordIterator.java
similarity index 93%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ValueContentRowDataRecordIterator.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/ValueContentRowDataRecordIterator.java
index 100fc287d..1597fd10d 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ValueContentRowDataRecordIterator.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ValueContentRowDataRecordIterator.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ValueCountRowDataRecordIterator.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ValueCountRowDataRecordIterator.java
similarity index 92%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ValueCountRowDataRecordIterator.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/ValueCountRowDataRecordIterator.java
index 4411ee620..c3e0dff0e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/ValueCountRowDataRecordIterator.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/ValueCountRowDataRecordIterator.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/BoundedWatermarkFollowUpScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/BoundedWatermarkFollowUpScanner.java
similarity index 93%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/BoundedWatermarkFollowUpScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/BoundedWatermarkFollowUpScanner.java
index cb35dcb78..6a054329c 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/BoundedWatermarkFollowUpScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/BoundedWatermarkFollowUpScanner.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.Snapshot;
-import org.apache.flink.table.store.table.source.DataTableScan.DataFilePlan;
+import org.apache.paimon.table.source.DataTableScan.DataFilePlan;
 
 /**
  * {@link FollowUpScanner} for bounded watermark, end scanning when a snapshot larger than bounded
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/CompactedStartingScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/CompactedStartingScanner.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/CompactedStartingScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/CompactedStartingScanner.java
index 72a97f5ce..feb6a360d 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/CompactedStartingScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/CompactedStartingScanner.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.operation.ScanKind;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/CompactionChangelogFollowUpScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/CompactionChangelogFollowUpScanner.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/CompactionChangelogFollowUpScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/CompactionChangelogFollowUpScanner.java
index 8a47cf174..7649d6abf 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/CompactionChangelogFollowUpScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/CompactionChangelogFollowUpScanner.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.operation.ScanKind;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorFollowUpScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorFollowUpScanner.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorFollowUpScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorFollowUpScanner.java
index a8c7e8ba4..e6f58b067 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorFollowUpScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorFollowUpScanner.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.operation.ScanKind;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorStartingScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorStartingScanner.java
similarity index 95%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorStartingScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorStartingScanner.java
index 8a9121666..991c1b526 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorStartingScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorStartingScanner.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousFromSnapshotStartingScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousFromSnapshotStartingScanner.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousFromSnapshotStartingScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousFromSnapshotStartingScanner.java
index c7e2a78e3..01a4a2a1b 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousFromSnapshotStartingScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousFromSnapshotStartingScanner.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 import java.util.Collections;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousFromTimestampStartingScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousFromTimestampStartingScanner.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousFromTimestampStartingScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousFromTimestampStartingScanner.java
index 533931973..c415cc350 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousFromTimestampStartingScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousFromTimestampStartingScanner.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousLatestStartingScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousLatestStartingScanner.java
similarity index 93%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousLatestStartingScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousLatestStartingScanner.java
index e64334749..5e5bb47ba 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/ContinuousLatestStartingScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/ContinuousLatestStartingScanner.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/DeltaFollowUpScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/DeltaFollowUpScanner.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/DeltaFollowUpScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/DeltaFollowUpScanner.java
index b23a9c626..a6bd023a4 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/DeltaFollowUpScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/DeltaFollowUpScanner.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.operation.ScanKind;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/FollowUpScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/FollowUpScanner.java
similarity index 88%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/FollowUpScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/FollowUpScanner.java
index 0c424185e..988388cf4 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/FollowUpScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/FollowUpScanner.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.Snapshot;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.table.source.StreamDataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.table.source.StreamDataTableScan;
 
 /** Helper class for the follow-up planning of {@link StreamDataTableScan}. */
 public interface FollowUpScanner {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/FullStartingScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/FullStartingScanner.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/FullStartingScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/FullStartingScanner.java
index 1f0fa9e29..9a5fb0b2e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/FullStartingScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/FullStartingScanner.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.operation.ScanKind;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/InputChangelogFollowUpScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/InputChangelogFollowUpScanner.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/InputChangelogFollowUpScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/InputChangelogFollowUpScanner.java
index 8e241dea1..f1de19e91 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/InputChangelogFollowUpScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/InputChangelogFollowUpScanner.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.operation.ScanKind;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/SnapshotSplitReader.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/SnapshotSplitReader.java
similarity index 93%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/SnapshotSplitReader.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/SnapshotSplitReader.java
index 36e037f72..2e3803a5e 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/SnapshotSplitReader.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/SnapshotSplitReader.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.operation.ScanKind;
 import org.apache.paimon.file.predicate.Predicate;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.table.source.SplitGenerator;
-import org.apache.flink.table.store.utils.Filter;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.table.source.SplitGenerator;
+import org.apache.paimon.utils.Filter;
 
 import org.apache.paimon.data.BinaryRow;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/SnapshotSplitReaderImpl.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/SnapshotSplitReaderImpl.java
similarity index 95%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/SnapshotSplitReaderImpl.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/SnapshotSplitReaderImpl.java
index 356d09c5c..fcb82f498 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/SnapshotSplitReaderImpl.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/SnapshotSplitReaderImpl.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.codegen.CodeGenUtils;
@@ -30,9 +30,9 @@ import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateBuilder;
 import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.table.source.SplitGenerator;
-import org.apache.flink.table.store.utils.Filter;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.table.source.SplitGenerator;
+import org.apache.paimon.utils.Filter;
 
 import org.apache.paimon.data.BinaryRow;
 
@@ -44,7 +44,7 @@ import java.util.Optional;
 import java.util.function.BiConsumer;
 
 import static org.apache.paimon.file.predicate.PredicateBuilder.transformFieldMapping;
-import static org.apache.flink.table.store.table.source.snapshot.SnapshotSplitReader.generateSplits;
+import static org.apache.paimon.table.source.snapshot.SnapshotSplitReader.generateSplits;
 
 /** Implementation of {@link SnapshotSplitReader}. */
 public class SnapshotSplitReaderImpl implements SnapshotSplitReader {
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/StartingScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/StartingScanner.java
similarity index 81%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/StartingScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/StartingScanner.java
index 170f0f72b..1da5a7386 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/StartingScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/StartingScanner.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.BatchDataTableScan;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.table.source.StreamDataTableScan;
+import org.apache.paimon.table.source.BatchDataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.table.source.StreamDataTableScan;
 
 /**
  * Helper class for the first planning of {@link BatchDataTableScan} and {@link
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/StaticFromSnapshotStartingScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/StaticFromSnapshotStartingScanner.java
similarity index 93%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/StaticFromSnapshotStartingScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/StaticFromSnapshotStartingScanner.java
index ce5a341d7..b94d0212a 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/StaticFromSnapshotStartingScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/StaticFromSnapshotStartingScanner.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.operation.ScanKind;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 /**
  * {@link StartingScanner} for the {@link CoreOptions.StartupMode#FROM_SNAPSHOT} startup mode of a
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/StaticFromTimestampStartingScanner.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/StaticFromTimestampStartingScanner.java
similarity index 94%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/StaticFromTimestampStartingScanner.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/StaticFromTimestampStartingScanner.java
index eb312b535..a1dcda61d 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/source/snapshot/StaticFromTimestampStartingScanner.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/source/snapshot/StaticFromTimestampStartingScanner.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.operation.ScanKind;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.source.DataTableScan;
+import org.apache.paimon.table.source.DataTableScan;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/AuditLogTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/AuditLogTable.java
similarity index 91%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/AuditLogTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/system/AuditLogTable.java
index ca9a0bdc4..b9f814261 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/AuditLogTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/AuditLogTable.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.system;
+package org.apache.paimon.table.system;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.operation.ScanKind;
@@ -27,26 +27,26 @@ import org.apache.paimon.file.predicate.PredicateReplaceVisitor;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.DataTable;
-import org.apache.flink.table.store.table.FileStoreTable;
-import org.apache.flink.table.store.table.ReadonlyTable;
-import org.apache.flink.table.store.table.Table;
-import org.apache.flink.table.store.table.source.BatchDataTableScan;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.table.source.InnerTableRead;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.StreamDataTableScan;
-import org.apache.flink.table.store.table.source.snapshot.FollowUpScanner;
-import org.apache.flink.table.store.table.source.snapshot.SnapshotSplitReader;
-import org.apache.flink.table.store.table.source.snapshot.StartingScanner;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarCharType;
-import org.apache.flink.table.store.utils.Filter;
-import org.apache.flink.table.store.utils.ProjectedRow;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.DataTable;
+import org.apache.paimon.table.FileStoreTable;
+import org.apache.paimon.table.ReadonlyTable;
+import org.apache.paimon.table.Table;
+import org.apache.paimon.table.source.BatchDataTableScan;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.table.source.InnerTableRead;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.StreamDataTableScan;
+import org.apache.paimon.table.source.snapshot.FollowUpScanner;
+import org.apache.paimon.table.source.snapshot.SnapshotSplitReader;
+import org.apache.paimon.table.source.snapshot.StartingScanner;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarCharType;
+import org.apache.paimon.utils.Filter;
+import org.apache.paimon.utils.ProjectedRow;
 
 import org.apache.flink.shaded.guava30.com.google.common.primitives.Ints;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/BucketsTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/BucketsTable.java
similarity index 84%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/BucketsTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/system/BucketsTable.java
index 0b8c6fed2..8c5422dc9 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/BucketsTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/BucketsTable.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.system;
+package org.apache.paimon.table.system;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.io.DataFileMeta;
@@ -26,22 +26,22 @@ import org.apache.flink.table.store.file.utils.IteratorRecordReader;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.DataTable;
-import org.apache.flink.table.store.table.FileStoreTable;
-import org.apache.flink.table.store.table.ReadonlyTable;
-import org.apache.flink.table.store.table.Table;
-import org.apache.flink.table.store.table.source.BatchDataTableScan;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.table.source.InnerTableRead;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.StreamDataTableScan;
-import org.apache.flink.table.store.table.source.snapshot.SnapshotSplitReader;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarBinaryType;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.DataTable;
+import org.apache.paimon.table.FileStoreTable;
+import org.apache.paimon.table.ReadonlyTable;
+import org.apache.paimon.table.Table;
+import org.apache.paimon.table.source.BatchDataTableScan;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.table.source.InnerTableRead;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.StreamDataTableScan;
+import org.apache.paimon.table.source.snapshot.SnapshotSplitReader;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarBinaryType;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/FilesTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/FilesTable.java
similarity index 93%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/FilesTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/system/FilesTable.java
index f2d3c7939..909b268e9 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/FilesTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/FilesTable.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.system;
+package org.apache.paimon.table.system;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.io.DataFilePathFactory;
@@ -28,23 +28,23 @@ import org.apache.flink.table.store.file.stats.FieldStatsArraySerializer;
 import org.apache.flink.table.store.file.stats.FieldStatsConverters;
 import org.apache.flink.table.store.file.utils.IteratorRecordReader;
 import org.apache.flink.table.store.file.utils.SerializationUtils;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.FileStoreTable;
-import org.apache.flink.table.store.table.ReadonlyTable;
-import org.apache.flink.table.store.table.Table;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.table.source.InnerTableRead;
-import org.apache.flink.table.store.table.source.InnerTableScan;
-import org.apache.flink.table.store.table.source.ReadOnceTableScan;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataTypes;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.ProjectedRow;
-import org.apache.flink.table.store.utils.RowDataToObjectArrayConverter;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.FileStoreTable;
+import org.apache.paimon.table.ReadonlyTable;
+import org.apache.paimon.table.Table;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.table.source.InnerTableRead;
+import org.apache.paimon.table.source.InnerTableScan;
+import org.apache.paimon.table.source.ReadOnceTableScan;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataTypes;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.ProjectedRow;
+import org.apache.paimon.utils.RowDataToObjectArrayConverter;
 
 import org.apache.flink.shaded.guava30.com.google.common.collect.Iterators;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/OptionsTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/OptionsTable.java
similarity index 90%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/OptionsTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/system/OptionsTable.java
index 70c74b3fc..34221f5be 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/OptionsTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/OptionsTable.java
@@ -16,23 +16,23 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.system;
+package org.apache.paimon.table.system;
 
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.utils.IteratorRecordReader;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.ReadonlyTable;
-import org.apache.flink.table.store.table.Table;
-import org.apache.flink.table.store.table.source.InnerTableRead;
-import org.apache.flink.table.store.table.source.InnerTableScan;
-import org.apache.flink.table.store.table.source.ReadOnceTableScan;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.ProjectedRow;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.ReadonlyTable;
+import org.apache.paimon.table.Table;
+import org.apache.paimon.table.source.InnerTableRead;
+import org.apache.paimon.table.source.InnerTableScan;
+import org.apache.paimon.table.source.ReadOnceTableScan;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.ProjectedRow;
 
 import org.apache.flink.shaded.guava30.com.google.common.collect.Iterators;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/SchemasTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/SchemasTable.java
similarity index 89%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/SchemasTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/system/SchemasTable.java
index 2164631b7..93ee28ffb 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/SchemasTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/SchemasTable.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.system;
+package org.apache.paimon.table.system;
 
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.flink.table.store.file.schema.SchemaManager;
@@ -26,18 +26,18 @@ import org.apache.flink.table.store.file.utils.JsonSerdeUtil;
 import org.apache.flink.table.store.file.utils.SerializationUtils;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.ReadonlyTable;
-import org.apache.flink.table.store.table.Table;
-import org.apache.flink.table.store.table.source.InnerTableRead;
-import org.apache.flink.table.store.table.source.InnerTableScan;
-import org.apache.flink.table.store.table.source.ReadOnceTableScan;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.ProjectedRow;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.ReadonlyTable;
+import org.apache.paimon.table.Table;
+import org.apache.paimon.table.source.InnerTableRead;
+import org.apache.paimon.table.source.InnerTableScan;
+import org.apache.paimon.table.source.ReadOnceTableScan;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.ProjectedRow;
 
 import org.apache.flink.shaded.guava30.com.google.common.collect.Iterators;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/SnapshotsTable.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/SnapshotsTable.java
similarity index 90%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/SnapshotsTable.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/system/SnapshotsTable.java
index 10a3bd5f8..9a4dea4bb 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/SnapshotsTable.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/SnapshotsTable.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.system;
+package org.apache.paimon.table.system;
 
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.paimon.file.predicate.Predicate;
@@ -25,18 +25,18 @@ import org.apache.flink.table.store.file.utils.SerializationUtils;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.table.ReadonlyTable;
-import org.apache.flink.table.store.table.Table;
-import org.apache.flink.table.store.table.source.InnerTableRead;
-import org.apache.flink.table.store.table.source.InnerTableScan;
-import org.apache.flink.table.store.table.source.ReadOnceTableScan;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.TimestampType;
-import org.apache.flink.table.store.utils.ProjectedRow;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.table.ReadonlyTable;
+import org.apache.paimon.table.Table;
+import org.apache.paimon.table.source.InnerTableRead;
+import org.apache.paimon.table.source.InnerTableScan;
+import org.apache.paimon.table.source.ReadOnceTableScan;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.TimestampType;
+import org.apache.paimon.utils.ProjectedRow;
 
 import org.apache.flink.shaded.guava30.com.google.common.collect.Iterators;
 
diff --git a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/SystemTableLoader.java b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/SystemTableLoader.java
similarity index 75%
rename from flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/SystemTableLoader.java
rename to flink-table-store-core/src/main/java/org/apache/paimon/table/system/SystemTableLoader.java
index 1dfc8e7a8..97c117617 100644
--- a/flink-table-store-core/src/main/java/org/apache/flink/table/store/table/system/SystemTableLoader.java
+++ b/flink-table-store-core/src/main/java/org/apache/paimon/table/system/SystemTableLoader.java
@@ -16,20 +16,20 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.system;
+package org.apache.paimon.table.system;
 
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.table.FileStoreTable;
-import org.apache.flink.table.store.table.Table;
+import org.apache.paimon.table.FileStoreTable;
+import org.apache.paimon.table.Table;
 
 import javax.annotation.Nullable;
 
-import static org.apache.flink.table.store.table.system.AuditLogTable.AUDIT_LOG;
-import static org.apache.flink.table.store.table.system.FilesTable.FILES;
-import static org.apache.flink.table.store.table.system.OptionsTable.OPTIONS;
-import static org.apache.flink.table.store.table.system.SchemasTable.SCHEMAS;
-import static org.apache.flink.table.store.table.system.SnapshotsTable.SNAPSHOTS;
+import static org.apache.paimon.table.system.AuditLogTable.AUDIT_LOG;
+import static org.apache.paimon.table.system.FilesTable.FILES;
+import static org.apache.paimon.table.system.OptionsTable.OPTIONS;
+import static org.apache.paimon.table.system.SchemasTable.SCHEMAS;
+import static org.apache.paimon.table.system.SnapshotsTable.SNAPSHOTS;
 
 /** Loader to load system {@link Table}s. */
 public class SystemTableLoader {
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/FileFormatTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/FileFormatTest.java
index a79a6bddd..ae8a5c638 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/FileFormatTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/FileFormatTest.java
@@ -23,9 +23,9 @@ import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.PositionOutputStream;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/TestFileStore.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/TestFileStore.java
index 8c5757567..fba9c0a0b 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/TestFileStore.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/TestFileStore.java
@@ -45,10 +45,10 @@ import org.apache.paimon.fs.FileIOFinder;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.options.MemorySize;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
-import org.apache.flink.table.store.table.sink.CommitMessageImpl;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.reader.RecordReaderIterator;
+import org.apache.paimon.table.sink.CommitMessageImpl;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.serializer.InternalRowSerializer;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/TestKeyValueGenerator.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/TestKeyValueGenerator.java
index 7de9fdab1..690cbf505 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/TestKeyValueGenerator.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/TestKeyValueGenerator.java
@@ -23,15 +23,15 @@ import org.apache.flink.table.store.file.schema.KeyValueFieldsExtractor;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.table.SchemaEvolutionTableTestBase;
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarCharType;
+import org.apache.paimon.table.SchemaEvolutionTableTestBase;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarCharType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.BinaryString;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/append/AppendOnlyWriterTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/append/AppendOnlyWriterTest.java
index 253b1285a..bf1d94328 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/append/AppendOnlyWriterTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/append/AppendOnlyWriterTest.java
@@ -29,11 +29,11 @@ import org.apache.flink.table.store.file.utils.RecordWriter;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarCharType;
-import org.apache.flink.table.store.utils.Pair;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarCharType;
+import org.apache.paimon.utils.Pair;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.BinaryString;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/casting/CastExecutorTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/casting/CastExecutorTest.java
index 95a0138d1..96e188773 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/casting/CastExecutorTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/casting/CastExecutorTest.java
@@ -18,22 +18,22 @@
 
 package org.apache.flink.table.store.file.casting;
 
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.BinaryType;
-import org.apache.flink.table.store.types.CharType;
-import org.apache.flink.table.store.types.DateType;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.DoubleType;
-import org.apache.flink.table.store.types.FloatType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.SmallIntType;
-import org.apache.flink.table.store.types.TimeType;
-import org.apache.flink.table.store.types.TimestampType;
-import org.apache.flink.table.store.types.TinyIntType;
-import org.apache.flink.table.store.types.VarBinaryType;
-import org.apache.flink.table.store.types.VarCharType;
-import org.apache.flink.table.store.utils.DateTimeUtils;
-import org.apache.flink.table.store.utils.DecimalUtils;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.BinaryType;
+import org.apache.paimon.types.CharType;
+import org.apache.paimon.types.DateType;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.DoubleType;
+import org.apache.paimon.types.FloatType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.SmallIntType;
+import org.apache.paimon.types.TimeType;
+import org.apache.paimon.types.TimestampType;
+import org.apache.paimon.types.TinyIntType;
+import org.apache.paimon.types.VarBinaryType;
+import org.apache.paimon.types.VarCharType;
+import org.apache.paimon.utils.DateTimeUtils;
+import org.apache.paimon.utils.DecimalUtils;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.Timestamp;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/catalog/CatalogFactoryTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/catalog/CatalogFactoryTest.java
index 05dd5de63..02ea24d66 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/catalog/CatalogFactoryTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/catalog/CatalogFactoryTest.java
@@ -22,7 +22,7 @@ import org.apache.flink.table.store.catalog.CatalogContext;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.table.TableType;
+import org.apache.paimon.table.TableType;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hdfs.HdfsConfiguration;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/disk/BufferFileWriterReaderTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/disk/BufferFileWriterReaderTest.java
index f16dc9952..8df2848e0 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/disk/BufferFileWriterReaderTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/disk/BufferFileWriterReaderTest.java
@@ -31,7 +31,7 @@ import java.nio.file.Path;
 import java.util.LinkedList;
 import java.util.Random;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.jupiter.api.Assertions.fail;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FileFormatSuffixTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FileFormatSuffixTest.java
index c4335fc03..a302e6e95 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FileFormatSuffixTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FileFormatSuffixTest.java
@@ -28,10 +28,10 @@ import org.apache.flink.table.store.file.utils.CommitIncrement;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarCharType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarCharType;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.GenericRow;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FileStatsExtractingAvroFormat.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FileStatsExtractingAvroFormat.java
index ad79a2172..ce9152db3 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FileStatsExtractingAvroFormat.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FileStatsExtractingAvroFormat.java
@@ -21,7 +21,7 @@ package org.apache.flink.table.store.file.format;
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.flink.table.store.file.stats.TestFileStatsExtractor;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.format.FileFormat;
 import org.apache.paimon.format.FileStatsExtractor;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FlushingFileFormat.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FlushingFileFormat.java
index 8d2f2ffdc..0ea013279 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FlushingFileFormat.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/format/FlushingFileFormat.java
@@ -20,7 +20,7 @@ package org.apache.flink.table.store.file.format;
 
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FileFormat;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/io/KeyValueFileReadWriteTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/io/KeyValueFileReadWriteTest.java
index 721e4a0fa..ca32b9c55 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/io/KeyValueFileReadWriteTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/io/KeyValueFileReadWriteTest.java
@@ -32,13 +32,13 @@ import org.apache.paimon.fs.FileIOFinder;
 import org.apache.paimon.fs.FileStatus;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarCharType;
-import org.apache.flink.table.store.utils.CloseableIterator;
+import org.apache.paimon.reader.RecordReaderIterator;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarCharType;
+import org.apache.paimon.utils.CloseableIterator;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.GenericRow;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/io/RollingFileWriterTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/io/RollingFileWriterTest.java
index 5ad5e42a8..1d7bca9c6 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/io/RollingFileWriterTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/io/RollingFileWriterTest.java
@@ -22,10 +22,10 @@ import org.apache.flink.table.store.CoreOptions;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.LongCounter;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.LongCounter;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestCommittableSerializerTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestCommittableSerializerTest.java
index ec28cd185..26434781e 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestCommittableSerializerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestCommittableSerializerTest.java
@@ -21,8 +21,8 @@ package org.apache.flink.table.store.file.manifest;
 import org.apache.flink.table.store.file.io.CompactIncrement;
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.io.NewFilesIncrement;
-import org.apache.flink.table.store.table.sink.CommitMessage;
-import org.apache.flink.table.store.table.sink.CommitMessageImpl;
+import org.apache.paimon.table.sink.CommitMessage;
+import org.apache.paimon.table.sink.CommitMessageImpl;
 
 import org.apache.paimon.data.BinaryRow;
 import org.junit.jupiter.api.Test;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestFileMetaTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestFileMetaTest.java
index 8363b6b1d..ad5dd2fd0 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestFileMetaTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestFileMetaTest.java
@@ -29,8 +29,8 @@ import org.apache.paimon.fs.FileIOFinder;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.BinaryRowWriter;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestTestDataGenerator.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestTestDataGenerator.java
index 228a28790..7da9be330 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestTestDataGenerator.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/manifest/ManifestTestDataGenerator.java
@@ -22,7 +22,7 @@ import org.apache.flink.table.store.file.KeyValue;
 import org.apache.flink.table.store.file.TestKeyValueGenerator;
 import org.apache.flink.table.store.file.io.DataFileTestDataGenerator;
 import org.apache.flink.table.store.file.stats.FieldStatsArraySerializer;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.format.FieldStatsCollector;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/LookupLevelsTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/LookupLevelsTest.java
index 1efd4e2cc..e8fdc9cf0 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/LookupLevelsTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/LookupLevelsTest.java
@@ -33,11 +33,11 @@ import org.apache.paimon.fs.Path;
 import org.apache.paimon.io.cache.CacheManager;
 import org.apache.paimon.lookup.hash.HashLookupStoreFactory;
 import org.apache.paimon.options.MemorySize;
-import org.apache.flink.table.store.table.SchemaEvolutionTableTestBase;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataTypes;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.table.SchemaEvolutionTableTestBase;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataTypes;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.GenericRow;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/MergeTreeTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/MergeTreeTest.java
index 48c5de8bb..d109ed853 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/MergeTreeTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/MergeTreeTest.java
@@ -45,13 +45,13 @@ import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.MemorySize;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
-import org.apache.flink.table.store.table.SchemaEvolutionTableTestBase;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.reader.RecordReaderIterator;
+import org.apache.paimon.table.SchemaEvolutionTableTestBase;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.GenericRow;
@@ -152,7 +152,7 @@ public class MergeTreeTest {
                                         new DataField(
                                                 0,
                                                 "k",
-                                                new org.apache.flink.table.store.types.IntType(
+                                                new org.apache.paimon.types.IntType(
                                                         false)));
                             }
 
@@ -162,7 +162,7 @@ public class MergeTreeTest {
                                         new DataField(
                                                 0,
                                                 "v",
-                                                new org.apache.flink.table.store.types.IntType(
+                                                new org.apache.paimon.types.IntType(
                                                         false)));
                             }
                         });
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/SortBufferWriteBufferTestBase.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/SortBufferWriteBufferTestBase.java
index 40c0164e6..f6b558a19 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/SortBufferWriteBufferTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/SortBufferWriteBufferTestBase.java
@@ -28,10 +28,10 @@ import org.apache.flink.table.store.file.mergetree.compact.ValueCountMergeFuncti
 import org.apache.flink.table.store.file.sort.BinaryInMemorySortBuffer;
 import org.apache.flink.table.store.file.utils.ReusingKeyValue;
 import org.apache.flink.table.store.file.utils.ReusingTestData;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.junit.jupiter.api.Test;
 
@@ -42,7 +42,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Queue;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkState;
+import static org.apache.paimon.utils.Preconditions.checkState;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Test for {@link SortBufferWriteBuffer}. */
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/CombiningRecordReaderTestBase.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/CombiningRecordReaderTestBase.java
index 3cbbeae42..16e6c282f 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/CombiningRecordReaderTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/CombiningRecordReaderTestBase.java
@@ -22,7 +22,7 @@ import org.apache.flink.table.store.codegen.RecordComparator;
 import org.apache.flink.table.store.file.KeyValue;
 import org.apache.flink.table.store.file.utils.ReusingTestData;
 import org.apache.flink.table.store.file.utils.TestReusingRecordReader;
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import org.junit.jupiter.api.RepeatedTest;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/ConcatRecordReaderTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/ConcatRecordReaderTest.java
index 6fb24c967..d438b19c3 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/ConcatRecordReaderTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/ConcatRecordReaderTest.java
@@ -21,7 +21,7 @@ package org.apache.flink.table.store.file.mergetree.compact;
 import org.apache.flink.table.store.file.KeyValue;
 import org.apache.flink.table.store.file.utils.ReusingTestData;
 import org.apache.flink.table.store.file.utils.TestReusingRecordReader;
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeFunctionWrapperTestBase.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeFunctionWrapperTestBase.java
index ea8e4f223..595a2cd96 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeFunctionWrapperTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/FullChangelogMergeFunctionWrapperTestBase.java
@@ -19,7 +19,7 @@
 package org.apache.flink.table.store.file.mergetree.compact;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/LookupChangelogMergeFunctionWrapperTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/LookupChangelogMergeFunctionWrapperTest.java
index f45d4026a..8250dae64 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/LookupChangelogMergeFunctionWrapperTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/LookupChangelogMergeFunctionWrapperTest.java
@@ -22,7 +22,7 @@ import org.apache.flink.table.store.file.KeyValue;
 import org.apache.flink.table.store.file.mergetree.compact.aggregate.AggregateMergeFunction;
 import org.apache.flink.table.store.file.mergetree.compact.aggregate.FieldAggregator;
 import org.apache.flink.table.store.file.mergetree.compact.aggregate.FieldSumAgg;
-import org.apache.flink.table.store.types.DataTypes;
+import org.apache.paimon.types.DataTypes;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.data.InternalRow.FieldGetter;
@@ -33,10 +33,10 @@ import java.util.List;
 import java.util.Map;
 
 import static org.apache.flink.table.store.file.io.DataFileTestUtils.row;
-import static org.apache.flink.table.store.types.RowKind.DELETE;
-import static org.apache.flink.table.store.types.RowKind.INSERT;
-import static org.apache.flink.table.store.types.RowKind.UPDATE_AFTER;
-import static org.apache.flink.table.store.types.RowKind.UPDATE_BEFORE;
+import static org.apache.paimon.types.RowKind.DELETE;
+import static org.apache.paimon.types.RowKind.INSERT;
+import static org.apache.paimon.types.RowKind.UPDATE_AFTER;
+import static org.apache.paimon.types.RowKind.UPDATE_BEFORE;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Test for {@link LookupChangelogMergeFunctionWrapper}. */
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/MergeFunctionTestUtils.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/MergeFunctionTestUtils.java
index a62cce6a8..e754460cf 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/MergeFunctionTestUtils.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/MergeFunctionTestUtils.java
@@ -20,8 +20,8 @@ package org.apache.flink.table.store.file.mergetree.compact;
 
 import org.apache.flink.table.store.file.KeyValue;
 import org.apache.flink.table.store.file.utils.ReusingTestData;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.utils.Preconditions;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/ReducerMergeFunctionWrapperTestBase.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/ReducerMergeFunctionWrapperTestBase.java
index 6b412d3c8..e2694ebb8 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/ReducerMergeFunctionWrapperTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/ReducerMergeFunctionWrapperTestBase.java
@@ -19,7 +19,7 @@
 package org.apache.flink.table.store.file.mergetree.compact;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.GenericRow;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/SortMergeReaderTestBase.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/SortMergeReaderTestBase.java
index 629709227..434d87a3e 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/SortMergeReaderTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/SortMergeReaderTestBase.java
@@ -21,7 +21,7 @@ package org.apache.flink.table.store.file.mergetree.compact;
 import org.apache.flink.table.store.file.KeyValue;
 import org.apache.flink.table.store.file.utils.ReusingTestData;
 import org.apache.flink.table.store.file.utils.TestReusingRecordReader;
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldAggregatorTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldAggregatorTest.java
index bbce72e2d..6fae28cd0 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldAggregatorTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/mergetree/compact/aggregate/FieldAggregatorTest.java
@@ -18,15 +18,15 @@
 
 package org.apache.flink.table.store.file.mergetree.compact.aggregate;
 
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.BooleanType;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.DoubleType;
-import org.apache.flink.table.store.types.FloatType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.SmallIntType;
-import org.apache.flink.table.store.types.TinyIntType;
-import org.apache.flink.table.store.types.VarCharType;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.BooleanType;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.DoubleType;
+import org.apache.paimon.types.FloatType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.SmallIntType;
+import org.apache.paimon.types.TinyIntType;
+import org.apache.paimon.types.VarCharType;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.Decimal;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/FileStoreCommitTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/FileStoreCommitTest.java
index 5cd6e84cc..8c98c84fa 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/FileStoreCommitTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/FileStoreCommitTest.java
@@ -33,7 +33,7 @@ import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.flink.table.store.file.utils.TraceableFileIO;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.BinaryRow;
 import org.junit.jupiter.api.AfterEach;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreReadTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreReadTest.java
index 5aec9282e..08ba3064e 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreReadTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreReadTest.java
@@ -31,16 +31,16 @@ import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.paimon.fs.FileIOFinder;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarCharType;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.reader.RecordReaderIterator;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarCharType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.GenericRow;
@@ -126,7 +126,7 @@ public class KeyValueFileStoreReadTest {
                                         new DataField(
                                                 0,
                                                 "count",
-                                                new org.apache.flink.table.store.types
+                                                new org.apache.paimon.types
                                                         .BigIntType()));
                             }
                         },
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreScanTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreScanTest.java
index ccebebb34..44af8ab8d 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreScanTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/KeyValueFileStoreScanTest.java
@@ -31,8 +31,8 @@ import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/PartitionExpireTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/PartitionExpireTest.java
index 748b6c495..344d8e534 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/PartitionExpireTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/PartitionExpireTest.java
@@ -23,12 +23,12 @@ import org.apache.flink.table.store.file.schema.Schema;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
-import org.apache.flink.table.store.table.AbstractFileStoreTable;
-import org.apache.flink.table.store.table.FileStoreTable;
-import org.apache.flink.table.store.table.FileStoreTableFactory;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarCharType;
+import org.apache.paimon.table.AbstractFileStoreTable;
+import org.apache.paimon.table.FileStoreTable;
+import org.apache.paimon.table.FileStoreTableFactory;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarCharType;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.GenericRow;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/TestCommitThread.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/TestCommitThread.java
index 84a8ce20b..ba84fe945 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/TestCommitThread.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/operation/TestCommitThread.java
@@ -25,8 +25,8 @@ import org.apache.flink.table.store.file.manifest.ManifestCommittable;
 import org.apache.flink.table.store.file.memory.HeapMemorySegmentPool;
 import org.apache.flink.table.store.file.mergetree.MergeTreeWriter;
 import org.apache.flink.table.store.file.utils.CommitIncrement;
-import org.apache.flink.table.store.table.sink.CommitMessageImpl;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.table.sink.CommitMessageImpl;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.slf4j.Logger;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/DataTypeJsonParserTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/DataTypeJsonParserTest.java
index 0d6dbfec4..d808dee66 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/DataTypeJsonParserTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/DataTypeJsonParserTest.java
@@ -19,29 +19,29 @@
 package org.apache.flink.table.store.file.schema;
 
 import org.apache.flink.table.store.file.utils.JsonSerdeUtil;
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.BinaryType;
-import org.apache.flink.table.store.types.BooleanType;
-import org.apache.flink.table.store.types.CharType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeJsonParser;
-import org.apache.flink.table.store.types.DateType;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.DoubleType;
-import org.apache.flink.table.store.types.FloatType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.LocalZonedTimestampType;
-import org.apache.flink.table.store.types.MapType;
-import org.apache.flink.table.store.types.MultisetType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.SmallIntType;
-import org.apache.flink.table.store.types.TimeType;
-import org.apache.flink.table.store.types.TimestampType;
-import org.apache.flink.table.store.types.TinyIntType;
-import org.apache.flink.table.store.types.VarBinaryType;
-import org.apache.flink.table.store.types.VarCharType;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.BinaryType;
+import org.apache.paimon.types.BooleanType;
+import org.apache.paimon.types.CharType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeJsonParser;
+import org.apache.paimon.types.DateType;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.DoubleType;
+import org.apache.paimon.types.FloatType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.LocalZonedTimestampType;
+import org.apache.paimon.types.MapType;
+import org.apache.paimon.types.MultisetType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.SmallIntType;
+import org.apache.paimon.types.TimeType;
+import org.apache.paimon.types.TimestampType;
+import org.apache.paimon.types.TinyIntType;
+import org.apache.paimon.types.VarBinaryType;
+import org.apache.paimon.types.VarCharType;
 
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaEvolutionUtilTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaEvolutionUtilTest.java
index ad525afc1..fec8ac7f5 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaEvolutionUtilTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaEvolutionUtilTest.java
@@ -23,15 +23,15 @@ import org.apache.paimon.file.predicate.IsNotNull;
 import org.apache.paimon.file.predicate.IsNull;
 import org.apache.paimon.file.predicate.LeafPredicate;
 import org.apache.paimon.file.predicate.Predicate;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataTypes;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.DoubleType;
-import org.apache.flink.table.store.types.FloatType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.utils.ProjectedRow;
-import org.apache.flink.table.store.utils.Projection;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataTypes;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.DoubleType;
+import org.apache.paimon.types.FloatType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.utils.ProjectedRow;
+import org.apache.paimon.utils.Projection;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaManagerTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaManagerTest.java
index 8c21866b4..c4fdd97c3 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaManagerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaManagerTest.java
@@ -24,13 +24,13 @@ import org.apache.flink.table.store.file.utils.FailingFileIO;
 import org.apache.paimon.fs.FileIOFinder;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DoubleType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.MapType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarCharType;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DoubleType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.MapType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarCharType;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
@@ -103,11 +103,11 @@ public class SchemaManagerTest {
         List<DataField> fields =
                 Arrays.asList(
                         new DataField(
-                                0, "f0", new org.apache.flink.table.store.types.IntType(false)),
+                                0, "f0", new org.apache.paimon.types.IntType(false)),
                         new DataField(
-                                1, "f1", new org.apache.flink.table.store.types.BigIntType(false)),
+                                1, "f1", new org.apache.paimon.types.BigIntType(false)),
                         new DataField(
-                                2, "f2", new org.apache.flink.table.store.types.VarCharType()));
+                                2, "f2", new org.apache.paimon.types.VarCharType()));
 
         assertThat(latest.isPresent()).isTrue();
         assertThat(tableSchema).isEqualTo(latest.get());
@@ -235,11 +235,11 @@ public class SchemaManagerTest {
         List<DataField> fields =
                 Arrays.asList(
                         new DataField(
-                                0, "f0", new org.apache.flink.table.store.types.DoubleType(false)),
+                                0, "f0", new org.apache.paimon.types.DoubleType(false)),
                         new DataField(
-                                1, "f1", new org.apache.flink.table.store.types.BigIntType(false)),
+                                1, "f1", new org.apache.paimon.types.BigIntType(false)),
                         new DataField(
-                                2, "f2", new org.apache.flink.table.store.types.VarCharType()));
+                                2, "f2", new org.apache.paimon.types.VarCharType()));
 
         assertThat(latest.isPresent()).isTrue();
         assertThat(tableSchema).isEqualTo(latest.get());
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaUtils.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaUtils.java
index f454c078d..0587a88c6 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaUtils.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/SchemaUtils.java
@@ -19,9 +19,9 @@
 package org.apache.flink.table.store.file.schema;
 
 import org.apache.flink.table.store.CoreOptions;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Preconditions;
 
 import java.util.List;
 import java.util.Map;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/TableSchemaSerializationTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/TableSchemaSerializationTest.java
index 37ff27b1f..d34949a12 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/TableSchemaSerializationTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/TableSchemaSerializationTest.java
@@ -19,11 +19,11 @@
 package org.apache.flink.table.store.file.schema;
 
 import org.apache.flink.table.store.file.utils.JsonSerdeUtil;
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.MapType;
-import org.apache.flink.table.store.types.MultisetType;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.MapType;
+import org.apache.paimon.types.MultisetType;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/TableSchemaTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/TableSchemaTest.java
index 62f5780dc..bfef56de4 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/TableSchemaTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/schema/TableSchemaTest.java
@@ -18,9 +18,9 @@
 
 package org.apache.flink.table.store.file.schema;
 
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/sort/IntNormalizedKeyComputer.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/sort/IntNormalizedKeyComputer.java
index 2521ffb23..c28707e9e 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/sort/IntNormalizedKeyComputer.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/sort/IntNormalizedKeyComputer.java
@@ -20,7 +20,7 @@ package org.apache.flink.table.store.file.sort;
 
 import org.apache.flink.table.store.codegen.NormalizedKeyComputer;
 import org.apache.paimon.memory.MemorySegment;
-import org.apache.flink.table.store.utils.SortUtil;
+import org.apache.paimon.utils.SortUtil;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/BinaryTableStatsTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/BinaryTableStatsTest.java
index 98d52a394..76c18d82b 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/BinaryTableStatsTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/BinaryTableStatsTest.java
@@ -18,8 +18,8 @@
 
 package org.apache.flink.table.store.file.stats;
 
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.BinaryRowWriter;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/FieldStatsArraySerializerTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/FieldStatsArraySerializerTest.java
index 495195117..afad43b26 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/FieldStatsArraySerializerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/FieldStatsArraySerializerTest.java
@@ -21,8 +21,8 @@ package org.apache.flink.table.store.file.stats;
 import org.apache.flink.table.store.file.casting.CastExecutor;
 import org.apache.flink.table.store.file.schema.SchemaEvolutionUtil;
 import org.apache.flink.table.store.file.schema.TableSchema;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.IntType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.IntType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.format.FieldStats;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/FieldStatsCollectorTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/FieldStatsCollectorTest.java
index bdb8508cf..09d6b572f 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/FieldStatsCollectorTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/FieldStatsCollectorTest.java
@@ -18,10 +18,10 @@
 
 package org.apache.flink.table.store.file.stats;
 
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarCharType;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarCharType;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.GenericArray;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/StatsTestUtils.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/StatsTestUtils.java
index 39f29b851..9be8b4178 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/StatsTestUtils.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/StatsTestUtils.java
@@ -18,8 +18,8 @@
 
 package org.apache.flink.table.store.file.stats;
 
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/TestFileStatsExtractor.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/TestFileStatsExtractor.java
index 974a82ead..5926530dd 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/TestFileStatsExtractor.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/stats/TestFileStatsExtractor.java
@@ -22,7 +22,7 @@ import org.apache.flink.table.store.file.utils.FileUtils;
 import org.apache.flink.table.store.file.utils.ObjectSerializer;
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.format.FieldStats;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/FailingFileIO.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/FailingFileIO.java
index 0ce91b791..7184fa95f 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/FailingFileIO.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/FailingFileIO.java
@@ -27,7 +27,7 @@ import org.apache.paimon.fs.PositionOutputStreamWrapper;
 import org.apache.paimon.fs.SeekableInputStream;
 import org.apache.paimon.fs.SeekableInputStreamWrapper;
 import org.apache.paimon.fs.local.LocalFileIO;
-import org.apache.flink.table.store.utils.ExceptionUtils;
+import org.apache.paimon.utils.ExceptionUtils;
 
 import java.io.File;
 import java.io.FileNotFoundException;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/FileStorePathFactoryTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/FileStorePathFactoryTest.java
index dc00a4613..9d7a7b888 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/FileStorePathFactoryTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/FileStorePathFactoryTest.java
@@ -21,10 +21,10 @@ package org.apache.flink.table.store.file.utils;
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.io.DataFilePathFactory;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.VarCharType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.VarCharType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.BinaryRowWriter;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/OffsetRowTest.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/OffsetRowTest.java
index c54c505d8..3ccc72901 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/OffsetRowTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/OffsetRowTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.flink.table.store.file.utils;
 
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.BinaryArray;
 import org.apache.paimon.data.BinaryArrayWriter;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/ReusingTestData.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/ReusingTestData.java
index de5d31767..d0e7f7aad 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/ReusingTestData.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/ReusingTestData.java
@@ -19,8 +19,8 @@
 package org.apache.flink.table.store.file.utils;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.utils.Preconditions;
 
 import java.util.ArrayList;
 import java.util.HashSet;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/TestReusingRecordReader.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/TestReusingRecordReader.java
index 0ef58d6ab..310c4bdcb 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/TestReusingRecordReader.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/TestReusingRecordReader.java
@@ -19,7 +19,7 @@
 package org.apache.flink.table.store.file.utils;
 
 import org.apache.flink.table.store.file.KeyValue;
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import javax.annotation.Nullable;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/TraceableFileIO.java b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/TraceableFileIO.java
index 30d77c14b..8a94e88b7 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/TraceableFileIO.java
+++ b/flink-table-store-core/src/test/java/org/apache/flink/table/store/file/utils/TraceableFileIO.java
@@ -28,7 +28,7 @@ import org.apache.paimon.fs.PositionOutputStreamWrapper;
 import org.apache.paimon.fs.SeekableInputStream;
 import org.apache.paimon.fs.SeekableInputStreamWrapper;
 import org.apache.paimon.fs.local.LocalFileIO;
-import org.apache.flink.table.store.utils.ThreadUtils;
+import org.apache.paimon.utils.ThreadUtils;
 
 import javax.annotation.concurrent.GuardedBy;
 
@@ -41,7 +41,7 @@ import java.util.function.Predicate;
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /** A file system that tracks the number of concurrently open input streams, output streams. */
 public class TraceableFileIO implements FileIO {
diff --git a/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/BucketSelectorTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/BucketSelectorTest.java
index dbde1970b..d96442b64 100644
--- a/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/BucketSelectorTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/BucketSelectorTest.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/PredicateBuilderTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/PredicateBuilderTest.java
index 400c02edd..0d1fd2df3 100644
--- a/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/PredicateBuilderTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/PredicateBuilderTest.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.format.FieldStats;
 import org.junit.jupiter.api.Test;
diff --git a/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/PredicateTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/PredicateTest.java
index 1e37c8272..dae2c55e6 100644
--- a/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/PredicateTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/file/predicate/PredicateTest.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.format.FieldStats;
 import org.junit.jupiter.api.Test;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyFileDataTableTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyFileDataTableTest.java
similarity index 97%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyFileDataTableTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyFileDataTableTest.java
index 41938dbdf..ca59c31cd 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyFileDataTableTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyFileDataTableTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.schema.TableSchema;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyFileStoreTableTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyFileStoreTableTest.java
similarity index 96%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyFileStoreTableTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyFileStoreTableTest.java
index 3dfbb5fb5..c99980c7c 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyFileStoreTableTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyFileStoreTableTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
@@ -29,11 +29,11 @@ import org.apache.flink.table.store.file.schema.SchemaUtils;
 import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.TableRead;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.TableRead;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.InternalRow;
@@ -50,8 +50,8 @@ import java.util.Random;
 import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
-import static org.apache.flink.table.store.table.sink.BucketComputer.bucket;
-import static org.apache.flink.table.store.table.sink.BucketComputer.hashcode;
+import static org.apache.paimon.table.sink.BucketComputer.bucket;
+import static org.apache.paimon.table.sink.BucketComputer.hashcode;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Tests for {@link AppendOnlyFileStoreTable}. */
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyTableColumnTypeFileDataTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyTableColumnTypeFileDataTest.java
similarity index 97%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyTableColumnTypeFileDataTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyTableColumnTypeFileDataTest.java
index c7988a888..2cc8a55fa 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyTableColumnTypeFileDataTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyTableColumnTypeFileDataTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyTableColumnTypeFileMetaTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyTableColumnTypeFileMetaTest.java
similarity index 97%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyTableColumnTypeFileMetaTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyTableColumnTypeFileMetaTest.java
index 373fc47e0..4bdcf8d60 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyTableColumnTypeFileMetaTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyTableColumnTypeFileMetaTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyTableFileMetaFilterTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyTableFileMetaFilterTest.java
similarity index 97%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyTableFileMetaFilterTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyTableFileMetaFilterTest.java
index 7249fc6ce..d9b2dede5 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/AppendOnlyTableFileMetaFilterTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/AppendOnlyTableFileMetaFilterTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountColumnTypeFileDataTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountColumnTypeFileDataTest.java
similarity index 97%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountColumnTypeFileDataTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountColumnTypeFileDataTest.java
index fc8cd3b09..0a808a214 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountColumnTypeFileDataTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountColumnTypeFileDataTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountColumnTypeFileMetaTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountColumnTypeFileMetaTest.java
similarity index 98%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountColumnTypeFileMetaTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountColumnTypeFileMetaTest.java
index 902a0e063..50e0aa36f 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountColumnTypeFileMetaTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountColumnTypeFileMetaTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountFileDataTableTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountFileDataTableTest.java
similarity index 97%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountFileDataTableTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountFileDataTableTest.java
index 76ac11556..b20cd1df5 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountFileDataTableTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountFileDataTableTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountFileMetaFilterTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountFileMetaFilterTest.java
similarity index 98%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountFileMetaFilterTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountFileMetaFilterTest.java
index 3df33eea6..1fb3184f8 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountFileMetaFilterTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountFileMetaFilterTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountFileStoreTableTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountFileStoreTableTest.java
similarity index 96%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountFileStoreTableTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountFileStoreTableTest.java
index b185dda88..3a3bc0ffa 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogValueCountFileStoreTableTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogValueCountFileStoreTableTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
@@ -31,11 +31,11 @@ import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyColumnTypeFileDataTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyColumnTypeFileDataTest.java
similarity index 98%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyColumnTypeFileDataTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyColumnTypeFileDataTest.java
index dd0071a79..19ddbc69f 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyColumnTypeFileDataTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyColumnTypeFileDataTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
@@ -24,7 +24,7 @@ import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateBuilder;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.schema.TableSchema;
-import org.apache.flink.table.store.table.source.Split;
+import org.apache.paimon.table.source.Split;
 
 import org.apache.paimon.data.InternalRow;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyFileDataTableTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyFileDataTableTest.java
similarity index 98%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyFileDataTableTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyFileDataTableTest.java
index 53da5518b..079fde7b6 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyFileDataTableTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyFileDataTableTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
@@ -24,9 +24,9 @@ import org.apache.flink.table.store.file.operation.ScanKind;
 import org.apache.paimon.file.predicate.PredicateBuilder;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.schema.TableSchema;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.types.RowType;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyFileMetaFilterTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyFileMetaFilterTest.java
similarity index 98%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyFileMetaFilterTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyFileMetaFilterTest.java
index 41a815f53..17bcc4997 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyFileMetaFilterTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyFileMetaFilterTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
@@ -26,7 +26,7 @@ import org.apache.paimon.file.predicate.PredicateBuilder;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.flink.table.store.file.stats.BinaryTableStats;
-import org.apache.flink.table.store.table.source.DataSplit;
+import org.apache.paimon.table.source.DataSplit;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyFileStoreTableTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyFileStoreTableTest.java
similarity index 96%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyFileStoreTableTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyFileStoreTableTest.java
index ca647c6e7..e0dd1790d 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyFileStoreTableTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyFileStoreTableTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.CoreOptions.ChangelogProducer;
@@ -30,28 +30,28 @@ import org.apache.flink.table.store.file.schema.SchemaUtils;
 import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.table.sink.BatchTableCommit;
-import org.apache.flink.table.store.table.sink.BatchTableWrite;
-import org.apache.flink.table.store.table.sink.BatchWriteBuilder;
-import org.apache.flink.table.store.table.sink.CommitMessage;
-import org.apache.flink.table.store.table.sink.InnerTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.table.source.ReadBuilder;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.StreamDataTableScan;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.table.source.TableScan;
-import org.apache.flink.table.store.table.source.snapshot.FullStartingScanner;
-import org.apache.flink.table.store.table.source.snapshot.InputChangelogFollowUpScanner;
-import org.apache.flink.table.store.table.source.snapshot.SnapshotSplitReader;
-import org.apache.flink.table.store.table.system.AuditLogTable;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypes;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.CompatibilityTestUtils;
+import org.apache.paimon.table.sink.BatchTableCommit;
+import org.apache.paimon.table.sink.BatchTableWrite;
+import org.apache.paimon.table.sink.BatchWriteBuilder;
+import org.apache.paimon.table.sink.CommitMessage;
+import org.apache.paimon.table.sink.InnerTableCommit;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.table.source.ReadBuilder;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.StreamDataTableScan;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.table.source.TableScan;
+import org.apache.paimon.table.source.snapshot.FullStartingScanner;
+import org.apache.paimon.table.source.snapshot.InputChangelogFollowUpScanner;
+import org.apache.paimon.table.source.snapshot.SnapshotSplitReader;
+import org.apache.paimon.table.system.AuditLogTable;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypes;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.CompatibilityTestUtils;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.GenericRow;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyTableColumnTypeFileMetaTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyTableColumnTypeFileMetaTest.java
similarity index 98%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyTableColumnTypeFileMetaTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyTableColumnTypeFileMetaTest.java
index 0a32145ee..fdb587f03 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ChangelogWithKeyTableColumnTypeFileMetaTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ChangelogWithKeyTableColumnTypeFileMetaTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
@@ -26,7 +26,7 @@ import org.apache.paimon.file.predicate.PredicateBuilder;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.flink.table.store.file.stats.BinaryTableStats;
-import org.apache.flink.table.store.table.source.DataSplit;
+import org.apache.paimon.table.source.DataSplit;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.format.FieldStats;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ColumnTypeFileDataTestBase.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ColumnTypeFileDataTestBase.java
similarity index 97%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ColumnTypeFileDataTestBase.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ColumnTypeFileDataTestBase.java
index f067b0bfa..d8d92c4ce 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ColumnTypeFileDataTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ColumnTypeFileDataTestBase.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateBuilder;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.utils.RowDataUtils;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.utils.RowDataUtils;
 
 import org.apache.paimon.data.InternalRow;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ColumnTypeFileMetaTestBase.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/ColumnTypeFileMetaTestBase.java
similarity index 99%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ColumnTypeFileMetaTestBase.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/ColumnTypeFileMetaTestBase.java
index dd28d457b..d77e265d5 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/ColumnTypeFileMetaTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/ColumnTypeFileMetaTestBase.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateBuilder;
 import org.apache.flink.table.store.file.stats.BinaryTableStats;
-import org.apache.flink.table.store.table.source.DataSplit;
+import org.apache.paimon.table.source.DataSplit;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.Decimal;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/FileDataFilterTestBase.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/FileDataFilterTestBase.java
similarity index 98%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/FileDataFilterTestBase.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/FileDataFilterTestBase.java
index 91983446e..1c56bccbc 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/FileDataFilterTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/FileDataFilterTestBase.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.file.operation.ScanKind;
 import org.apache.paimon.file.predicate.Equal;
@@ -24,11 +24,11 @@ import org.apache.paimon.file.predicate.IsNull;
 import org.apache.paimon.file.predicate.LeafPredicate;
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateBuilder;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.types.DataTypes;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.types.DataTypes;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 import org.junit.jupiter.api.Test;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/FileMetaFilterTestBase.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/FileMetaFilterTestBase.java
similarity index 99%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/FileMetaFilterTestBase.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/FileMetaFilterTestBase.java
index 62a14b4ed..56297d81d 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/FileMetaFilterTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/FileMetaFilterTestBase.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateBuilder;
 import org.apache.flink.table.store.file.stats.BinaryTableStats;
-import org.apache.flink.table.store.table.source.DataSplit;
+import org.apache.paimon.table.source.DataSplit;
 
 import org.apache.paimon.format.FieldStats;
 import org.junit.jupiter.api.Test;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/FileStoreTableTestBase.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/FileStoreTableTestBase.java
similarity index 95%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/FileStoreTableTestBase.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/FileStoreTableTestBase.java
index 4c18e5892..f42c40530 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/FileStoreTableTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/FileStoreTableTestBase.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.io.DataFileMeta;
@@ -30,20 +30,20 @@ import org.apache.flink.table.store.file.utils.TraceableFileIO;
 import org.apache.paimon.fs.FileIOFinder;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
-import org.apache.flink.table.store.table.sink.CommitMessage;
-import org.apache.flink.table.store.table.sink.CommitMessageImpl;
-import org.apache.flink.table.store.table.sink.InnerTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypes;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.reader.RecordReaderIterator;
+import org.apache.paimon.table.sink.CommitMessage;
+import org.apache.paimon.table.sink.CommitMessageImpl;
+import org.apache.paimon.table.sink.InnerTableCommit;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypes;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.BinaryRowWriter;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/SchemaEvolutionTableTestBase.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/SchemaEvolutionTableTestBase.java
similarity index 93%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/SchemaEvolutionTableTestBase.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/SchemaEvolutionTableTestBase.java
index 23a98e2d8..f14553ed4 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/SchemaEvolutionTableTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/SchemaEvolutionTableTestBase.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.io.DataFileMeta;
@@ -30,27 +30,27 @@ import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.FileIOFinder;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataSplit;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.BinaryType;
-import org.apache.flink.table.store.types.CharType;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DateType;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.DoubleType;
-import org.apache.flink.table.store.types.FloatType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.SmallIntType;
-import org.apache.flink.table.store.types.TimestampType;
-import org.apache.flink.table.store.types.VarBinaryType;
-import org.apache.flink.table.store.types.VarCharType;
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.reader.RecordReaderIterator;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataSplit;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.BinaryType;
+import org.apache.paimon.types.CharType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DateType;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.DoubleType;
+import org.apache.paimon.types.FloatType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.SmallIntType;
+import org.apache.paimon.types.TimestampType;
+import org.apache.paimon.types.VarBinaryType;
+import org.apache.paimon.types.VarCharType;
+import org.apache.paimon.utils.StringUtils;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.Decimal;
@@ -75,7 +75,7 @@ import java.util.function.BiConsumer;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Base test class for schema evolution in {@link FileStoreTable}. */
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/SchemaEvolutionTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/SchemaEvolutionTest.java
similarity index 96%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/SchemaEvolutionTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/SchemaEvolutionTest.java
index 311ef9f99..b09454ba4 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/SchemaEvolutionTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/SchemaEvolutionTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.file.predicate.PredicateBuilder;
@@ -25,15 +25,15 @@ import org.apache.flink.table.store.file.schema.SchemaChange;
 import org.apache.flink.table.store.file.schema.SchemaManager;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.InnerTableRead;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.snapshot.SnapshotSplitReader;
-import org.apache.flink.table.store.types.BigIntType;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.FloatType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.InnerTableRead;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.snapshot.SnapshotSplitReader;
+import org.apache.paimon.types.BigIntType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.FloatType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.DataFormatTestUtil;
 import org.apache.paimon.data.GenericRow;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/WritePreemptMemoryTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/WritePreemptMemoryTest.java
similarity index 93%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/WritePreemptMemoryTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/WritePreemptMemoryTest.java
index 56e406ff8..bf75ec614 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/WritePreemptMemoryTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/WritePreemptMemoryTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.WriteMode;
@@ -27,10 +27,10 @@ import org.apache.flink.table.store.file.schema.TableSchema;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.MemorySize;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.TableRead;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.TableRead;
 
 import org.apache.paimon.data.GenericRow;
 import org.junit.jupiter.api.Test;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/sink/CommitMessageSerializerTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/sink/CommitMessageSerializerTest.java
similarity index 97%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/sink/CommitMessageSerializerTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/sink/CommitMessageSerializerTest.java
index c46050a6a..f0a057351 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/sink/CommitMessageSerializerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/sink/CommitMessageSerializerTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.file.io.CompactIncrement;
 import org.apache.flink.table.store.file.io.NewFilesIncrement;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/sink/SinkRecordConverterTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/sink/SinkRecordConverterTest.java
similarity index 95%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/sink/SinkRecordConverterTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/sink/SinkRecordConverterTest.java
index 15e3845d2..9ea99b439 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/sink/SinkRecordConverterTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/sink/SinkRecordConverterTest.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.file.schema.TableSchema;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/sink/TableWriteTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/sink/TableWriteTest.java
similarity index 94%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/sink/TableWriteTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/sink/TableWriteTest.java
index 40bf31fae..ba26be452 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/sink/TableWriteTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/sink/TableWriteTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.sink;
+package org.apache.paimon.table.sink;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.operation.AbstractFileStoreWrite;
@@ -29,13 +29,13 @@ import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.local.LocalFileIO;
 import org.apache.paimon.options.MemorySize;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
-import org.apache.flink.table.store.table.FileStoreTable;
-import org.apache.flink.table.store.table.FileStoreTableFactory;
-import org.apache.flink.table.store.table.source.TableScan;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypes;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.reader.RecordReaderIterator;
+import org.apache.paimon.table.FileStoreTable;
+import org.apache.paimon.table.FileStoreTableFactory;
+import org.apache.paimon.table.source.TableScan;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypes;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.GenericRow;
 import org.apache.paimon.data.InternalRow;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/BatchDataTableScanTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/BatchDataTableScanTest.java
similarity index 88%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/BatchDataTableScanTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/BatchDataTableScanTest.java
index 036c26e5b..28bc5d649 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/BatchDataTableScanTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/BatchDataTableScanTest.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.snapshot.ScannerTestBase;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.snapshot.ScannerTestBase;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/RowDataRecordIteratorTestBase.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/RowDataRecordIteratorTestBase.java
similarity index 95%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/RowDataRecordIteratorTestBase.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/RowDataRecordIteratorTestBase.java
index 69357d8cf..b3dac2975 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/RowDataRecordIteratorTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/RowDataRecordIteratorTestBase.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.KeyValue;
 import org.apache.flink.table.store.file.utils.ReusingTestData;
 import org.apache.flink.table.store.file.utils.TestReusingRecordReader;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/SplitGeneratorTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/SplitGeneratorTest.java
similarity index 98%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/SplitGeneratorTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/SplitGeneratorTest.java
index 715f24c98..e1196d6af 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/SplitGeneratorTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/SplitGeneratorTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/SplitTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/SplitTest.java
similarity index 97%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/SplitTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/SplitTest.java
index 6e19e452e..c3b84f57a 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/SplitTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/SplitTest.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.io.DataFileMeta;
 import org.apache.flink.table.store.file.io.DataFileTestDataGenerator;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/StreamDataTableScanTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/StreamDataTableScanTest.java
similarity index 95%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/StreamDataTableScanTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/StreamDataTableScanTest.java
index 004356235..63f434e15 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/StreamDataTableScanTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/StreamDataTableScanTest.java
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.snapshot.ScannerTestBase;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.snapshot.ScannerTestBase;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/ValueContentRowDataRecordIteratorTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/ValueContentRowDataRecordIteratorTest.java
similarity index 95%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/ValueContentRowDataRecordIteratorTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/ValueContentRowDataRecordIteratorTest.java
index 05e640643..0290c7162 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/ValueContentRowDataRecordIteratorTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/ValueContentRowDataRecordIteratorTest.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.utils.ReusingTestData;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/ValueCountRowDataRecordIteratorTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/ValueCountRowDataRecordIteratorTest.java
similarity index 96%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/ValueCountRowDataRecordIteratorTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/ValueCountRowDataRecordIteratorTest.java
index 87de0937b..5d2e60ddf 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/ValueCountRowDataRecordIteratorTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/ValueCountRowDataRecordIteratorTest.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source;
+package org.apache.paimon.table.source;
 
 import org.apache.flink.table.store.file.utils.ReusingTestData;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.utils.ProjectedRow;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.utils.ProjectedRow;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/BoundedWatermarkFollowUpScannerTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/BoundedWatermarkFollowUpScannerTest.java
similarity index 94%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/BoundedWatermarkFollowUpScannerTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/BoundedWatermarkFollowUpScannerTest.java
index 86497e440..c9243a14f 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/BoundedWatermarkFollowUpScannerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/BoundedWatermarkFollowUpScannerTest.java
@@ -16,12 +16,12 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.manifest.ManifestCommittable;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.sink.TableCommitImpl;
+import org.apache.paimon.table.sink.TableCommitImpl;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/CompactedStartingScannerTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/CompactedStartingScannerTest.java
similarity index 91%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/CompactedStartingScannerTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/CompactedStartingScannerTest.java
index 64c0d1d92..a8a284dc1 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/CompactedStartingScannerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/CompactedStartingScannerTest.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/CompactionChangelogFollowUpScannerTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/CompactionChangelogFollowUpScannerTest.java
similarity index 91%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/CompactionChangelogFollowUpScannerTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/CompactionChangelogFollowUpScannerTest.java
index 5ea0cf150..1e9ae442f 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/CompactionChangelogFollowUpScannerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/CompactionChangelogFollowUpScannerTest.java
@@ -16,18 +16,18 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.table.FileStoreTable;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.FileStoreTable;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorFollowUpScannerTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorFollowUpScannerTest.java
similarity index 91%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorFollowUpScannerTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorFollowUpScannerTest.java
index 0bc4f3536..bddde856d 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorFollowUpScannerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorFollowUpScannerTest.java
@@ -16,17 +16,17 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.io.DataFileMetaSerializer;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.table.system.BucketsTable;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.table.system.BucketsTable;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.InternalRow;
 import org.junit.jupiter.api.Test;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorStartingScannerTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorStartingScannerTest.java
similarity index 90%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorStartingScannerTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorStartingScannerTest.java
index 3675caf57..690979457 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousCompactorStartingScannerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousCompactorStartingScannerTest.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousFromTimestampStartingScannerTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousFromTimestampStartingScannerTest.java
similarity index 92%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousFromTimestampStartingScannerTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousFromTimestampStartingScannerTest.java
index f9bd51eb8..18a6b54d8 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousFromTimestampStartingScannerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousFromTimestampStartingScannerTest.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousLatestStartingScannerTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousLatestStartingScannerTest.java
similarity index 89%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousLatestStartingScannerTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousLatestStartingScannerTest.java
index ee347a9f5..d339f19db 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ContinuousLatestStartingScannerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ContinuousLatestStartingScannerTest.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/DeltaFollowUpScannerTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/DeltaFollowUpScannerTest.java
similarity index 89%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/DeltaFollowUpScannerTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/DeltaFollowUpScannerTest.java
index 50947cba5..986622644 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/DeltaFollowUpScannerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/DeltaFollowUpScannerTest.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/FullStartingScannerTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/FullStartingScannerTest.java
similarity index 89%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/FullStartingScannerTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/FullStartingScannerTest.java
index 2dc7fb98c..1eb31f653 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/FullStartingScannerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/FullStartingScannerTest.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.utils.SnapshotManager;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/InputChangelogFollowUpScannerTest.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/InputChangelogFollowUpScannerTest.java
similarity index 89%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/InputChangelogFollowUpScannerTest.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/InputChangelogFollowUpScannerTest.java
index 80b8478d9..952501d0f 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/InputChangelogFollowUpScannerTest.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/InputChangelogFollowUpScannerTest.java
@@ -16,18 +16,18 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.flink.table.store.file.Snapshot;
 import org.apache.flink.table.store.file.utils.SnapshotManager;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.table.FileStoreTable;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.source.DataTableScan;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.table.FileStoreTable;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.source.DataTableScan;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.types.RowKind;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ScannerTestBase.java b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ScannerTestBase.java
similarity index 88%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ScannerTestBase.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ScannerTestBase.java
index 910cf2a85..8ab4b1758 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/table/source/snapshot/ScannerTestBase.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/table/source/snapshot/ScannerTestBase.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table.source.snapshot;
+package org.apache.paimon.table.source.snapshot;
 
 import org.apache.flink.table.store.file.mergetree.compact.ConcatRecordReader;
 import org.apache.flink.table.store.file.schema.Schema;
@@ -27,16 +27,16 @@ import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.FileIOFinder;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.reader.RecordReaderIterator;
-import org.apache.flink.table.store.table.FileStoreTable;
-import org.apache.flink.table.store.table.FileStoreTableFactory;
-import org.apache.flink.table.store.table.source.Split;
-import org.apache.flink.table.store.table.source.TableRead;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypes;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.reader.RecordReaderIterator;
+import org.apache.paimon.table.FileStoreTable;
+import org.apache.paimon.table.FileStoreTableFactory;
+import org.apache.paimon.table.source.Split;
+import org.apache.paimon.table.source.TableRead;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypes;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 import org.apache.paimon.data.BinaryRowWriter;
diff --git a/flink-table-store-core/src/test/java/org/apache/flink/table/store/utils/CompatibilityTestUtils.java b/flink-table-store-core/src/test/java/org/apache/paimon/utils/CompatibilityTestUtils.java
similarity index 98%
rename from flink-table-store-core/src/test/java/org/apache/flink/table/store/utils/CompatibilityTestUtils.java
rename to flink-table-store-core/src/test/java/org/apache/paimon/utils/CompatibilityTestUtils.java
index 377b6af6a..ca2b985bb 100644
--- a/flink-table-store-core/src/test/java/org/apache/flink/table/store/utils/CompatibilityTestUtils.java
+++ b/flink-table-store-core/src/test/java/org/apache/paimon/utils/CompatibilityTestUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
diff --git a/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/TableBenchmark.java b/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/TableBenchmark.java
index 196a0ed79..8dd5138de 100644
--- a/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/TableBenchmark.java
+++ b/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/TableBenchmark.java
@@ -26,10 +26,10 @@ import org.apache.flink.table.store.file.catalog.Identifier;
 import org.apache.flink.table.store.file.schema.Schema;
 import org.apache.paimon.options.CatalogOptions;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.table.Table;
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataTypes;
-import org.apache.flink.table.store.types.IntType;
+import org.apache.paimon.table.Table;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataTypes;
+import org.apache.paimon.types.IntType;
 
 import org.apache.commons.math3.random.RandomDataGenerator;
 import org.apache.paimon.data.BinaryString;
diff --git a/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/TableWriterBenchmark.java b/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/TableWriterBenchmark.java
index 1fe9d5122..1419cc368 100644
--- a/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/TableWriterBenchmark.java
+++ b/paimon-benchmark/paimon-micro-benchmarks/src/test/java/org/apache/paimon/benchmark/TableWriterBenchmark.java
@@ -20,10 +20,10 @@ package org.apache.paimon.benchmark;
 
 import org.apache.flink.table.store.CoreOptions;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.table.sink.CommitMessage;
-import org.apache.flink.table.store.table.sink.StreamTableCommit;
-import org.apache.flink.table.store.table.sink.StreamTableWrite;
-import org.apache.flink.table.store.table.sink.StreamWriteBuilder;
+import org.apache.paimon.table.sink.CommitMessage;
+import org.apache.paimon.table.sink.StreamTableCommit;
+import org.apache.paimon.table.sink.StreamTableWrite;
+import org.apache.paimon.table.sink.StreamWriteBuilder;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/catalog/CatalogContext.java b/paimon-common/src/main/java/org/apache/paimon/catalog/CatalogContext.java
index 9d0926806..75f98f835 100644
--- a/paimon-common/src/main/java/org/apache/paimon/catalog/CatalogContext.java
+++ b/paimon-common/src/main/java/org/apache/paimon/catalog/CatalogContext.java
@@ -22,7 +22,7 @@ import org.apache.paimon.fs.FileIOLoader;
 import org.apache.paimon.fs.Path;
 import org.apache.paimon.fs.hadoop.HadoopFileIOLoader;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.utils.HadoopUtils;
+import org.apache.paimon.utils.HadoopUtils;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.paimon.annotation.Experimental;
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenLoader.java b/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenLoader.java
index bf0ca8631..ddd392a6d 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenLoader.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenLoader.java
@@ -18,7 +18,7 @@
 
 package org.apache.flink.table.store.codegen;
 
-import org.apache.flink.table.store.plugin.PluginLoader;
+import org.apache.paimon.plugin.PluginLoader;
 
 /** Copied and modified from the flink-table-planner-loader module. */
 public class CodeGenLoader {
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenUtils.java b/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenUtils.java
index f7b1dcd3c..da6fcf6b4 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenUtils.java
@@ -18,8 +18,8 @@
 
 package org.apache.flink.table.store.codegen;
 
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.BinaryRow;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenerator.java b/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenerator.java
index 83715d958..34853e603 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenerator.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGenerator.java
@@ -18,8 +18,8 @@
 
 package org.apache.flink.table.store.codegen;
 
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowType;
 
 import java.util.List;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGeneratorContext.scala b/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGeneratorContext.scala
index bb4c920fe..68f761665 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGeneratorContext.scala
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGeneratorContext.scala
@@ -18,8 +18,8 @@
 package org.apache.flink.table.store.codegen
 
 import org.apache.paimon.data.serializer.InternalSerializers
-import org.apache.flink.table.store.types.DataType
-import org.apache.flink.table.store.utils.InstantiationUtil
+import org.apache.paimon.types.DataType
+import org.apache.paimon.utils.InstantiationUtil
 
 import GenerateUtils.{newName, newNames}
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGeneratorImpl.java b/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGeneratorImpl.java
index 7c2309c29..afccfc800 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGeneratorImpl.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/CodeGeneratorImpl.java
@@ -18,9 +18,9 @@
 
 package org.apache.flink.table.store.codegen;
 
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.TypeUtils;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.TypeUtils;
 
 import java.util.List;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/ComparatorCodeGenerator.scala b/paimon-common/src/main/java/org/apache/paimon/codegen/ComparatorCodeGenerator.scala
index cdc051e93..989e7dbc6 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/ComparatorCodeGenerator.scala
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/ComparatorCodeGenerator.scala
@@ -18,7 +18,7 @@
 package org.apache.flink.table.store.codegen
 
 import org.apache.flink.table.store.codegen.GenerateUtils.{newName, ROW_DATA}
-import org.apache.flink.table.store.types.RowType
+import org.apache.paimon.types.RowType
 
 /** A code generator for generating [[RecordComparator]]. */
 object ComparatorCodeGenerator {
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/CompileUtils.java b/paimon-common/src/main/java/org/apache/paimon/codegen/CompileUtils.java
index 1a738f3cf..e723d1c39 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/CompileUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/CompileUtils.java
@@ -28,7 +28,7 @@ import org.slf4j.LoggerFactory;
 import java.time.Duration;
 import java.util.Objects;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /** Utilities to compile a generated code to a Class. Copied from Flink. */
 public final class CompileUtils {
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/ExprCodeGenerator.scala b/paimon-common/src/main/java/org/apache/paimon/codegen/ExprCodeGenerator.scala
index a89327fe4..51e7560c8 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/ExprCodeGenerator.scala
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/ExprCodeGenerator.scala
@@ -18,8 +18,8 @@
 package org.apache.flink.table.store.codegen
 
 import org.apache.paimon.data.{BinaryRow, InternalRow}
-import org.apache.flink.table.store.types.{RowType, TimestampType}
-import org.apache.flink.table.store.utils.TypeUtils.isInteroperable
+import org.apache.paimon.types.{RowType, TimestampType}
+import org.apache.paimon.utils.TypeUtils.isInteroperable
 
 import GeneratedExpression.{NEVER_NULL, NO_CODE}
 import GenerateUtils.{generateRecordStatement, rowSetField, DEFAULT_OUT_RECORD_TERM, DEFAULT_OUT_RECORD_WRITER_TERM}
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/GenerateUtils.scala b/paimon-common/src/main/java/org/apache/paimon/codegen/GenerateUtils.scala
index d72595445..4616ca6f4 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/GenerateUtils.scala
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/GenerateUtils.scala
@@ -19,9 +19,9 @@ package org.apache.flink.table.store.codegen
 
 import org.apache.paimon.data._
 import org.apache.paimon.memory.MemorySegment
-import org.apache.flink.table.store.types._
-import org.apache.flink.table.store.types.DataTypeChecks.{getFieldCount, getFieldTypes, getPrecision, getScale}
-import org.apache.flink.table.store.types.DataTypeRoot._
+import org.apache.paimon.types._
+import org.apache.paimon.types.DataTypeChecks.{getFieldCount, getFieldTypes, getPrecision, getScale}
+import org.apache.paimon.types.DataTypeRoot._
 
 import java.lang.{Boolean => JBoolean, Byte => JByte, Double => JDouble, Float => JFloat, Integer => JInt, Long => JLong, Short => JShort}
 import java.util.concurrent.atomic.AtomicLong
@@ -116,7 +116,7 @@ object GenerateUtils {
       s"($leftTerm == $rightTerm ? 0 : ($leftTerm ? 1 : -1))"
     case BINARY | VARBINARY =>
       val sortUtil =
-        classOf[org.apache.flink.table.store.utils.SortUtil].getCanonicalName
+        classOf[org.apache.paimon.utils.SortUtil].getCanonicalName
       s"$sortUtil.compareBinary($leftTerm, $rightTerm)"
     case TINYINT | SMALLINT | INTEGER | BIGINT | FLOAT | DOUBLE | DATE | TIME_WITHOUT_TIME_ZONE =>
       s"($leftTerm > $rightTerm ? 1 : $leftTerm < $rightTerm ? -1 : 0)"
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/GeneratedClass.java b/paimon-common/src/main/java/org/apache/paimon/codegen/GeneratedClass.java
index b3a9e8bc1..0ff33bd18 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/GeneratedClass.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/GeneratedClass.java
@@ -25,7 +25,7 @@ import org.slf4j.LoggerFactory;
 
 import java.io.Serializable;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /**
  * A wrapper for generated class, defines a {@link #newInstance(ClassLoader)} method to get an
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/GeneratedExpression.scala b/paimon-common/src/main/java/org/apache/paimon/codegen/GeneratedExpression.scala
index 38397c1a5..595be957f 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/GeneratedExpression.scala
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/GeneratedExpression.scala
@@ -17,7 +17,7 @@
  */
 package org.apache.flink.table.store.codegen
 
-import org.apache.flink.table.store.types.DataType
+import org.apache.paimon.types.DataType
 
 /**
  * Describes a generated expression.
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/ProjectionCodeGenerator.scala b/paimon-common/src/main/java/org/apache/paimon/codegen/ProjectionCodeGenerator.scala
index 31538ea27..3fe899a40 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/ProjectionCodeGenerator.scala
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/ProjectionCodeGenerator.scala
@@ -19,7 +19,7 @@ package org.apache.flink.table.store.codegen
 
 import org.apache.flink.table.store.codegen.GenerateUtils.{generateRecordStatement, newName, DEFAULT_INPUT1_TERM, DEFAULT_OUT_RECORD_TERM, DEFAULT_OUT_RECORD_WRITER_TERM, ROW_DATA}
 import org.apache.paimon.data.{BinaryRow, InternalRow}
-import org.apache.flink.table.store.types.RowType
+import org.apache.paimon.types.RowType
 
 import GeneratedExpression.{NEVER_NULL, NO_CODE}
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/SortCodeGenerator.scala b/paimon-common/src/main/java/org/apache/paimon/codegen/SortCodeGenerator.scala
index 810dda0fe..2947216d1 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/SortCodeGenerator.scala
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/SortCodeGenerator.scala
@@ -19,9 +19,9 @@ package org.apache.flink.table.store.codegen
 
 import org.apache.flink.table.store.codegen.GenerateUtils.{newName, ROW_DATA, SEGMENT}
 import org.apache.paimon.data.{BinaryRow, Decimal, Timestamp}
-import org.apache.flink.table.store.types.{DataType, DecimalType, RowType, TimestampType}
-import org.apache.flink.table.store.types.DataTypeRoot._
-import org.apache.flink.table.store.utils.{SortUtil, TypeUtils}
+import org.apache.paimon.types.{DataType, DecimalType, RowType, TimestampType}
+import org.apache.paimon.types.DataTypeRoot._
+import org.apache.paimon.utils.{SortUtil, TypeUtils}
 
 import scala.collection.mutable
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/BlockStatementGrouper.java b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/BlockStatementGrouper.java
index 941b0ef4b..2a1488644 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/BlockStatementGrouper.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/BlockStatementGrouper.java
@@ -19,7 +19,7 @@ package org.apache.flink.table.store.codegen.codesplit;
 
 import org.apache.flink.table.store.codegen.codesplit.JavaParser.BlockStatementContext;
 import org.apache.flink.table.store.codegen.codesplit.JavaParser.StatementContext;
-import org.apache.flink.table.store.utils.Pair;
+import org.apache.paimon.utils.Pair;
 
 import org.antlr.v4.runtime.CharStreams;
 import org.antlr.v4.runtime.CommonTokenStream;
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/BlockStatementSplitter.java b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/BlockStatementSplitter.java
index 1a3a67743..6f2234f87 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/BlockStatementSplitter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/BlockStatementSplitter.java
@@ -19,7 +19,7 @@ package org.apache.flink.table.store.codegen.codesplit;
 
 import org.apache.flink.table.store.codegen.codesplit.JavaParser.BlockStatementContext;
 import org.apache.flink.table.store.codegen.codesplit.JavaParser.StatementContext;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.antlr.v4.runtime.CharStreams;
 import org.antlr.v4.runtime.CommonTokenStream;
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/CodeRewriterTestBase.java b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/CodeRewriterTestBase.java
index d5d84ca79..c5e4ef13c 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/CodeRewriterTestBase.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/CodeRewriterTestBase.java
@@ -17,7 +17,7 @@
 
 package org.apache.flink.table.store.codegen.codesplit;
 
-import org.apache.flink.table.store.utils.FileIOUtils;
+import org.apache.paimon.utils.FileIOUtils;
 
 import java.io.File;
 import java.util.function.Function;
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/CodeSplitTestUtil.java b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/CodeSplitTestUtil.java
index a46b216ea..0a5a2fb0d 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/CodeSplitTestUtil.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/CodeSplitTestUtil.java
@@ -17,9 +17,9 @@
 
 package org.apache.flink.table.store.codegen.codesplit;
 
-import org.apache.flink.table.store.utils.FileIOUtils;
-import org.apache.flink.table.store.utils.Pair;
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.utils.FileIOUtils;
+import org.apache.paimon.utils.Pair;
+import org.apache.paimon.utils.StringUtils;
 
 import org.codehaus.commons.compiler.CompileException;
 import org.codehaus.janino.SimpleCompiler;
@@ -34,7 +34,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.stream.Collectors;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 import static org.assertj.core.api.Assertions.assertThat;
 
 /** Util class for code split tests. */
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/DeclarationRewriter.java b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/DeclarationRewriter.java
index d90c0e7b3..c1d2af31a 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/DeclarationRewriter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/DeclarationRewriter.java
@@ -17,7 +17,7 @@
 
 package org.apache.flink.table.store.codegen.codesplit;
 
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.antlr.v4.runtime.CharStreams;
 import org.antlr.v4.runtime.CommonTokenStream;
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/JavaCodeSplitter.java b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/JavaCodeSplitter.java
index 1927a97c5..d4656b2c1 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/JavaCodeSplitter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/JavaCodeSplitter.java
@@ -19,7 +19,7 @@ package org.apache.flink.table.store.codegen.codesplit;
 
 import java.util.Optional;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /**
  * Rewrite generated java code so that the length of each method becomes smaller and can be
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/JavaCodeSplitterTest.java b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/JavaCodeSplitterTest.java
index f765ad18e..793b8424e 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/JavaCodeSplitterTest.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/JavaCodeSplitterTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.flink.table.store.codegen.codesplit;
 
-import org.apache.flink.table.store.utils.FileIOUtils;
+import org.apache.paimon.utils.FileIOUtils;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/MemberFieldRewriter.java b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/MemberFieldRewriter.java
index 0fa535f61..bcf2dd1da 100644
--- a/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/MemberFieldRewriter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/codegen/codesplit/MemberFieldRewriter.java
@@ -17,7 +17,7 @@
 
 package org.apache.flink.table.store.codegen.codesplit;
 
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.antlr.v4.runtime.CharStreams;
 import org.antlr.v4.runtime.CommonTokenStream;
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/BinaryArray.java b/paimon-common/src/main/java/org/apache/paimon/data/BinaryArray.java
index 9af790512..3c2744a55 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/BinaryArray.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/BinaryArray.java
@@ -20,7 +20,7 @@ package org.apache.paimon.data;
 
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.memory.MemorySegmentUtils;
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/BinaryArrayWriter.java b/paimon-common/src/main/java/org/apache/paimon/data/BinaryArrayWriter.java
index a685fab70..481fdc11f 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/BinaryArrayWriter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/BinaryArrayWriter.java
@@ -19,7 +19,7 @@ package org.apache.paimon.data;
 
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.memory.MemorySegmentUtils;
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import java.io.Serializable;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/BinaryMap.java b/paimon-common/src/main/java/org/apache/paimon/data/BinaryMap.java
index 3a7b00583..48d3e19e0 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/BinaryMap.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/BinaryMap.java
@@ -20,14 +20,14 @@ package org.apache.paimon.data;
 
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.memory.MemorySegmentUtils;
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.annotation.Experimental;
 
 import java.util.HashMap;
 import java.util.Map;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /**
  * [4 byte(keyArray size in bytes)] + [Key BinaryArray] + [Value BinaryArray].
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/BinaryRow.java b/paimon-common/src/main/java/org/apache/paimon/data/BinaryRow.java
index f794cc3f5..7b7e1d8b1 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/BinaryRow.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/BinaryRow.java
@@ -19,18 +19,18 @@ package org.apache.paimon.data;
 
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.memory.MemorySegmentUtils;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeRoot;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.LocalZonedTimestampType;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.TimestampType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeRoot;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.LocalZonedTimestampType;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.TimestampType;
 
 import org.apache.paimon.annotation.Experimental;
 
 import java.nio.ByteOrder;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /**
  * An implementation of {@link InternalRow} which is backed by {@link MemorySegment} instead of
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/BinaryRowWriter.java b/paimon-common/src/main/java/org/apache/paimon/data/BinaryRowWriter.java
index cdf7dc17c..f4cad16b5 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/BinaryRowWriter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/BinaryRowWriter.java
@@ -19,7 +19,7 @@ package org.apache.paimon.data;
 
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.memory.MemorySegmentUtils;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 /** Writer for {@link BinaryRow}. */
 public final class BinaryRowWriter extends AbstractBinaryWriter {
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/BinarySection.java b/paimon-common/src/main/java/org/apache/paimon/data/BinarySection.java
index daac1c29e..113565cbc 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/BinarySection.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/BinarySection.java
@@ -19,8 +19,8 @@ package org.apache.paimon.data;
 
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.memory.MemorySegmentUtils;
-import org.apache.flink.table.store.utils.IOUtils;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.IOUtils;
+import org.apache.paimon.utils.Preconditions;
 
 import java.io.IOException;
 import java.io.ObjectInputStream;
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/BinaryString.java b/paimon-common/src/main/java/org/apache/paimon/data/BinaryString.java
index b1248774a..86b78a5a7 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/BinaryString.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/BinaryString.java
@@ -32,7 +32,7 @@ import java.util.Arrays;
 
 import static org.apache.paimon.memory.MemorySegmentUtils.allocateReuseBytes;
 import static org.apache.paimon.memory.MemorySegmentUtils.allocateReuseChars;
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /**
  * A string which is backed by {@link MemorySegment}s.
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/BinaryWriter.java b/paimon-common/src/main/java/org/apache/paimon/data/BinaryWriter.java
index dc58eab7a..9cd405acf 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/BinaryWriter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/BinaryWriter.java
@@ -17,10 +17,10 @@
 
 package org.apache.paimon.data;
 
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.LocalZonedTimestampType;
-import org.apache.flink.table.store.types.TimestampType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.LocalZonedTimestampType;
+import org.apache.paimon.types.TimestampType;
 
 import org.apache.paimon.data.serializer.InternalArraySerializer;
 import org.apache.paimon.data.serializer.InternalMapSerializer;
@@ -30,7 +30,7 @@ import org.apache.paimon.data.serializer.Serializer;
 
 import java.io.Serializable;
 
-import static org.apache.flink.table.store.types.DataTypeChecks.getPrecision;
+import static org.apache.paimon.types.DataTypeChecks.getPrecision;
 
 /**
  * Writer to write a composite data format, like row, array. 1. Invoke {@link #reset()}. 2. Write
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/Decimal.java b/paimon-common/src/main/java/org/apache/paimon/data/Decimal.java
index 4a2f5de6f..00bbebabf 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/Decimal.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/Decimal.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.data;
 
-import org.apache.flink.table.store.types.DecimalType;
+import org.apache.paimon.types.DecimalType;
 
 import org.apache.paimon.annotation.Experimental;
 
@@ -30,7 +30,7 @@ import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.math.RoundingMode;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /**
  * An internal data structure representing data of {@link DecimalType}.
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/GenericArray.java b/paimon-common/src/main/java/org/apache/paimon/data/GenericArray.java
index 3a826c768..7e5947931 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/GenericArray.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/GenericArray.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.data;
 
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.utils.ArrayUtils;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.utils.ArrayUtils;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/GenericMap.java b/paimon-common/src/main/java/org/apache/paimon/data/GenericMap.java
index 110c7fc01..b3ee5dac2 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/GenericMap.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/GenericMap.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.data;
 
-import org.apache.flink.table.store.types.MapType;
-import org.apache.flink.table.store.types.MultisetType;
+import org.apache.paimon.types.MapType;
+import org.apache.paimon.types.MultisetType;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/GenericRow.java b/paimon-common/src/main/java/org/apache/paimon/data/GenericRow.java
index 5c04ace87..c79eed6a9 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/GenericRow.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/GenericRow.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.data;
 
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.annotation.Experimental;
 
@@ -27,7 +27,7 @@ import java.io.Serializable;
 import java.util.Arrays;
 import java.util.Objects;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /**
  * An internal data structure representing data of {@link RowType}.
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/InternalArray.java b/paimon-common/src/main/java/org/apache/paimon/data/InternalArray.java
index db8889de6..31e6ba46d 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/InternalArray.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/InternalArray.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.data;
 
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.annotation.Experimental;
 
@@ -27,9 +27,9 @@ import javax.annotation.Nullable;
 
 import java.io.Serializable;
 
-import static org.apache.flink.table.store.types.DataTypeChecks.getFieldCount;
-import static org.apache.flink.table.store.types.DataTypeChecks.getPrecision;
-import static org.apache.flink.table.store.types.DataTypeChecks.getScale;
+import static org.apache.paimon.types.DataTypeChecks.getFieldCount;
+import static org.apache.paimon.types.DataTypeChecks.getPrecision;
+import static org.apache.paimon.types.DataTypeChecks.getScale;
 
 /**
  * Base interface of an internal data structure representing data of {@link ArrayType}.
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/InternalMap.java b/paimon-common/src/main/java/org/apache/paimon/data/InternalMap.java
index 8f111083b..01c63599a 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/InternalMap.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/InternalMap.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.data;
 
-import org.apache.flink.table.store.types.MapType;
-import org.apache.flink.table.store.types.MultisetType;
+import org.apache.paimon.types.MapType;
+import org.apache.paimon.types.MultisetType;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/InternalRow.java b/paimon-common/src/main/java/org/apache/paimon/data/InternalRow.java
index 9ae7e5cc0..8330c2ea1 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/InternalRow.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/InternalRow.java
@@ -18,10 +18,10 @@
 
 package org.apache.paimon.data;
 
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeChecks;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeChecks;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.annotation.Experimental;
 
@@ -29,8 +29,8 @@ import javax.annotation.Nullable;
 
 import java.io.Serializable;
 
-import static org.apache.flink.table.store.types.DataTypeChecks.getPrecision;
-import static org.apache.flink.table.store.types.DataTypeChecks.getScale;
+import static org.apache.paimon.types.DataTypeChecks.getPrecision;
+import static org.apache.paimon.types.DataTypeChecks.getScale;
 
 /**
  * Base interface for an internal data structure representing data of {@link RowType}.
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/JoinedRow.java b/paimon-common/src/main/java/org/apache/paimon/data/JoinedRow.java
index f8424e3e4..313a92b97 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/JoinedRow.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/JoinedRow.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.data;
 
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/LazyGenericRow.java b/paimon-common/src/main/java/org/apache/paimon/data/LazyGenericRow.java
index 4bdd16333..ecb6bb1be 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/LazyGenericRow.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/LazyGenericRow.java
@@ -18,11 +18,11 @@
 
 package org.apache.paimon.data;
 
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import java.util.function.Supplier;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /** A {@link InternalRow} which lazy init fields. */
 public class LazyGenericRow implements InternalRow {
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/NestedRow.java b/paimon-common/src/main/java/org/apache/paimon/data/NestedRow.java
index bc62fc1c1..17323c15e 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/NestedRow.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/NestedRow.java
@@ -19,9 +19,9 @@ package org.apache.paimon.data;
 
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.memory.MemorySegmentUtils;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 import static org.apache.paimon.data.BinaryRow.calculateBitSetWidthInBytes;
 
 /**
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/RandomAccessInputView.java b/paimon-common/src/main/java/org/apache/paimon/data/RandomAccessInputView.java
index d019f9c89..4a87058c8 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/RandomAccessInputView.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/RandomAccessInputView.java
@@ -20,7 +20,7 @@ package org.apache.paimon.data;
 
 import org.apache.paimon.io.SeekableDataInputView;
 import org.apache.paimon.memory.MemorySegment;
-import org.apache.flink.table.store.utils.MathUtils;
+import org.apache.paimon.utils.MathUtils;
 
 import java.io.EOFException;
 import java.util.ArrayList;
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/SimpleCollectingOutputView.java b/paimon-common/src/main/java/org/apache/paimon/data/SimpleCollectingOutputView.java
index 07f2c3b96..6376365db 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/SimpleCollectingOutputView.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/SimpleCollectingOutputView.java
@@ -20,7 +20,7 @@ package org.apache.paimon.data;
 
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.memory.MemorySegmentSource;
-import org.apache.flink.table.store.utils.MathUtils;
+import org.apache.paimon.utils.MathUtils;
 
 import java.io.EOFException;
 import java.io.IOException;
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/Timestamp.java b/paimon-common/src/main/java/org/apache/paimon/data/Timestamp.java
index 99849ac9a..ba7e9d7d2 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/Timestamp.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/Timestamp.java
@@ -18,9 +18,9 @@
 
 package org.apache.paimon.data;
 
-import org.apache.flink.table.store.types.LocalZonedTimestampType;
-import org.apache.flink.table.store.types.TimestampType;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.types.LocalZonedTimestampType;
+import org.apache.paimon.types.TimestampType;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/columnar/ColumnarRow.java b/paimon-common/src/main/java/org/apache/paimon/data/columnar/ColumnarRow.java
index 1408104b0..a7e2d47f9 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/columnar/ColumnarRow.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/columnar/ColumnarRow.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.data.columnar;
 
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.DataSetters;
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/columnar/ColumnarRowIterator.java b/paimon-common/src/main/java/org/apache/paimon/data/columnar/ColumnarRowIterator.java
index bb97a44cb..6ad832ecf 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/columnar/ColumnarRowIterator.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/columnar/ColumnarRowIterator.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.data.columnar;
 
-import org.apache.flink.table.store.reader.RecordReader;
-import org.apache.flink.table.store.utils.RecyclableIterator;
+import org.apache.paimon.reader.RecordReader;
+import org.apache.paimon.utils.RecyclableIterator;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/serializer/BinaryRowSerializer.java b/paimon-common/src/main/java/org/apache/paimon/data/serializer/BinaryRowSerializer.java
index 247d81be4..e0d185d60 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/serializer/BinaryRowSerializer.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/serializer/BinaryRowSerializer.java
@@ -30,7 +30,7 @@ import org.apache.paimon.data.BinaryRow;
 
 import java.io.IOException;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /** Serializer for {@link BinaryRow}. */
 public class BinaryRowSerializer extends AbstractRowDataSerializer<BinaryRow> {
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalArraySerializer.java b/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalArraySerializer.java
index 823296b50..e3c835475 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalArraySerializer.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalArraySerializer.java
@@ -22,7 +22,7 @@ import org.apache.paimon.io.DataInputView;
 import org.apache.paimon.io.DataOutputView;
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.memory.MemorySegmentUtils;
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.data.BinaryArray;
 import org.apache.paimon.data.BinaryArrayWriter;
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalMapSerializer.java b/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalMapSerializer.java
index c5bde00b1..04950331e 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalMapSerializer.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalMapSerializer.java
@@ -22,7 +22,7 @@ import org.apache.paimon.io.DataInputView;
 import org.apache.paimon.io.DataOutputView;
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.memory.MemorySegmentUtils;
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.data.BinaryArray;
 import org.apache.paimon.data.BinaryArrayWriter;
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalRowSerializer.java b/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalRowSerializer.java
index 115d7d1d5..141742db1 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalRowSerializer.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalRowSerializer.java
@@ -20,8 +20,8 @@ package org.apache.paimon.data.serializer;
 
 import org.apache.paimon.io.DataInputView;
 import org.apache.paimon.io.DataOutputView;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.AbstractPagedInputView;
 import org.apache.paimon.data.AbstractPagedOutputView;
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalSerializers.java b/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalSerializers.java
index ef09e0feb..624dda481 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalSerializers.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/serializer/InternalSerializers.java
@@ -18,16 +18,16 @@
 
 package org.apache.paimon.data.serializer;
 
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.MapType;
-import org.apache.flink.table.store.types.MultisetType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.MapType;
+import org.apache.paimon.types.MultisetType;
+import org.apache.paimon.types.RowType;
 
-import static org.apache.flink.table.store.types.DataTypeChecks.getFieldTypes;
-import static org.apache.flink.table.store.types.DataTypeChecks.getPrecision;
-import static org.apache.flink.table.store.types.DataTypeChecks.getScale;
+import static org.apache.paimon.types.DataTypeChecks.getFieldTypes;
+import static org.apache.paimon.types.DataTypeChecks.getPrecision;
+import static org.apache.paimon.types.DataTypeChecks.getScale;
 
 /** {@link Serializer} of {@link DataType} for internal data structures. */
 public final class InternalSerializers {
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/serializer/ListSerializer.java b/paimon-common/src/main/java/org/apache/paimon/data/serializer/ListSerializer.java
index 51b8e2a54..1b351a4c8 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/serializer/ListSerializer.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/serializer/ListSerializer.java
@@ -25,7 +25,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /**
  * A serializer for {@link List Lists}. The serializer relies on an element serializer for the
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/serializer/NullableSerializer.java b/paimon-common/src/main/java/org/apache/paimon/data/serializer/NullableSerializer.java
index c06de2acc..6b1cd0bfd 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/serializer/NullableSerializer.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/serializer/NullableSerializer.java
@@ -27,7 +27,7 @@ import javax.annotation.Nonnull;
 
 import java.io.IOException;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 
 /** Serializer wrapper to add support of {@code null} value serialization. */
 public class NullableSerializer<T> implements Serializer<T> {
diff --git a/paimon-common/src/main/java/org/apache/paimon/data/serializer/RowCompactedSerializer.java b/paimon-common/src/main/java/org/apache/paimon/data/serializer/RowCompactedSerializer.java
index d90967cb5..10aa9303a 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/serializer/RowCompactedSerializer.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/serializer/RowCompactedSerializer.java
@@ -21,10 +21,10 @@ package org.apache.paimon.data.serializer;
 import org.apache.paimon.io.DataInputView;
 import org.apache.paimon.io.DataOutputView;
 import org.apache.paimon.memory.MemorySegment;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowKind;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.VarLengthIntUtils;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowKind;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.VarLengthIntUtils;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.BinaryArray;
@@ -47,9 +47,9 @@ import java.util.Objects;
 
 import static org.apache.paimon.memory.MemorySegmentUtils.bitGet;
 import static org.apache.paimon.memory.MemorySegmentUtils.bitSet;
-import static org.apache.flink.table.store.types.DataTypeChecks.getPrecision;
-import static org.apache.flink.table.store.types.DataTypeChecks.getScale;
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
+import static org.apache.paimon.types.DataTypeChecks.getPrecision;
+import static org.apache.paimon.types.DataTypeChecks.getScale;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
 import static org.apache.paimon.data.BinaryRow.HEADER_SIZE_IN_BITS;
 
 /** A {@link Serializer} for {@link InternalRow} using compacted binary. */
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/CompareUtils.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/CompareUtils.java
index e86bc53b5..80a0520f2 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/CompareUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/CompareUtils.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import static java.lang.Math.min;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/Equal.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/Equal.java
index eaf09e971..926a047a5 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/Equal.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/Equal.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/FieldRef.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/FieldRef.java
index 7291cb7c4..607255757 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/FieldRef.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/FieldRef.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import java.io.Serializable;
 import java.util.Objects;
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/GreaterOrEqual.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/GreaterOrEqual.java
index f093c734c..206491956 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/GreaterOrEqual.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/GreaterOrEqual.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/GreaterThan.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/GreaterThan.java
index b5859d446..2c47ee732 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/GreaterThan.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/GreaterThan.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/In.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/In.java
index b527d0133..768aa2a1f 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/In.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/In.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/IsNotNull.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/IsNotNull.java
index 5fbcdecd5..37dcdc217 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/IsNotNull.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/IsNotNull.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/IsNull.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/IsNull.java
index 032ab1079..4fc9c1db2 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/IsNull.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/IsNull.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafFunction.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafFunction.java
index 73b32f2d6..5e0940823 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafFunction.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafFunction.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafPredicate.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafPredicate.java
index 1ff1aafed..9786b54a4 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafPredicate.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafPredicate.java
@@ -20,7 +20,7 @@ package org.apache.paimon.file.predicate;
 
 import org.apache.paimon.io.DataInputViewStreamWrapper;
 import org.apache.paimon.io.DataOutputViewStreamWrapper;
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.data.serializer.InternalSerializers;
 import org.apache.paimon.data.serializer.ListSerializer;
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafUnaryFunction.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafUnaryFunction.java
index eb2b669a6..3b0e9b03a 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafUnaryFunction.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/LeafUnaryFunction.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/LessOrEqual.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/LessOrEqual.java
index c82d1d0c8..7f51007e3 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/LessOrEqual.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/LessOrEqual.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/LessThan.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/LessThan.java
index 776a221dc..8b39aecc4 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/LessThan.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/LessThan.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/NotEqual.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/NotEqual.java
index bcd1f00c8..718d0d0fb 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/NotEqual.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/NotEqual.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/NotIn.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/NotIn.java
index 4042f5486..0aebb858c 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/NotIn.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/NotIn.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/NullFalseLeafBinaryFunction.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/NullFalseLeafBinaryFunction.java
index 8fd2d827c..1d6c49349 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/NullFalseLeafBinaryFunction.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/NullFalseLeafBinaryFunction.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.format.FieldStats;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/PredicateBuilder.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/PredicateBuilder.java
index 931353cb1..117683d94 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/PredicateBuilder.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/PredicateBuilder.java
@@ -18,12 +18,12 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.Preconditions;
-import org.apache.flink.table.store.utils.TypeUtils;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.Preconditions;
+import org.apache.paimon.utils.TypeUtils;
 
 import org.apache.paimon.annotation.Experimental;
 import org.apache.paimon.data.BinaryString;
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/PredicateFilter.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/PredicateFilter.java
index 7fbcce2a3..2eb5558ef 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/PredicateFilter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/PredicateFilter.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.RowDataToObjectArrayConverter;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.RowDataToObjectArrayConverter;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/file/predicate/StartsWith.java b/paimon-common/src/main/java/org/apache/paimon/file/predicate/StartsWith.java
index 6020f475f..5a769a222 100644
--- a/paimon-common/src/main/java/org/apache/paimon/file/predicate/StartsWith.java
+++ b/paimon-common/src/main/java/org/apache/paimon/file/predicate/StartsWith.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.file.predicate;
 
-import org.apache.flink.table.store.types.DataType;
+import org.apache.paimon.types.DataType;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.format.FieldStats;
diff --git a/paimon-common/src/main/java/org/apache/paimon/format/FieldStatsCollector.java b/paimon-common/src/main/java/org/apache/paimon/format/FieldStatsCollector.java
index fea1428c0..5ecf845b9 100644
--- a/paimon-common/src/main/java/org/apache/paimon/format/FieldStatsCollector.java
+++ b/paimon-common/src/main/java/org/apache/paimon/format/FieldStatsCollector.java
@@ -18,8 +18,8 @@
 
 package org.apache.paimon.format;
 
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.utils.RowDataToObjectArrayConverter;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.utils.RowDataToObjectArrayConverter;
 
 import org.apache.paimon.data.InternalRow;
 import org.apache.paimon.data.serializer.InternalSerializers;
diff --git a/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java b/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java
index 4aafbef10..f0ab792c0 100644
--- a/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java
+++ b/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java
@@ -21,7 +21,7 @@ package org.apache.paimon.format;
 import org.apache.paimon.file.predicate.Predicate;
 import org.apache.paimon.options.ConfigOption;
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import javax.annotation.Nullable;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/format/FormatReaderFactory.java b/paimon-common/src/main/java/org/apache/paimon/format/FormatReaderFactory.java
index 478246c60..7398ce146 100644
--- a/paimon-common/src/main/java/org/apache/paimon/format/FormatReaderFactory.java
+++ b/paimon-common/src/main/java/org/apache/paimon/format/FormatReaderFactory.java
@@ -20,7 +20,7 @@ package org.apache.paimon.format;
 
 import org.apache.paimon.fs.FileIO;
 import org.apache.paimon.fs.Path;
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/fs/Path.java b/paimon-common/src/main/java/org/apache/paimon/fs/Path.java
index 72180d6df..2fe12aeb6 100644
--- a/paimon-common/src/main/java/org/apache/paimon/fs/Path.java
+++ b/paimon-common/src/main/java/org/apache/paimon/fs/Path.java
@@ -22,7 +22,7 @@
 
 package org.apache.paimon.fs;
 
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.utils.StringUtils;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/fs/local/LocalFileIO.java b/paimon-common/src/main/java/org/apache/paimon/fs/local/LocalFileIO.java
index a2162a924..164cb8035 100644
--- a/paimon-common/src/main/java/org/apache/paimon/fs/local/LocalFileIO.java
+++ b/paimon-common/src/main/java/org/apache/paimon/fs/local/LocalFileIO.java
@@ -42,7 +42,7 @@ import java.util.List;
 import java.util.concurrent.locks.ReentrantLock;
 
 import static org.apache.paimon.fs.local.LocalFileIOLoader.SCHEME;
-import static org.apache.flink.table.store.utils.Preconditions.checkState;
+import static org.apache.paimon.utils.Preconditions.checkState;
 
 /** {@link FileIO} for local file. */
 public class LocalFileIO implements FileIO {
diff --git a/paimon-common/src/main/java/org/apache/paimon/io/DataOutputSerializer.java b/paimon-common/src/main/java/org/apache/paimon/io/DataOutputSerializer.java
index 3ede1649b..61d131302 100644
--- a/paimon-common/src/main/java/org/apache/paimon/io/DataOutputSerializer.java
+++ b/paimon-common/src/main/java/org/apache/paimon/io/DataOutputSerializer.java
@@ -21,7 +21,7 @@ package org.apache.paimon.io;
 import org.apache.paimon.memory.MemorySegment;
 import org.apache.paimon.memory.MemorySegmentWritable;
 import org.apache.paimon.memory.MemoryUtils;
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import java.io.EOFException;
 import java.io.IOException;
diff --git a/paimon-common/src/main/java/org/apache/paimon/io/cache/CachedRandomInputView.java b/paimon-common/src/main/java/org/apache/paimon/io/cache/CachedRandomInputView.java
index dc723825c..6b291edbb 100644
--- a/paimon-common/src/main/java/org/apache/paimon/io/cache/CachedRandomInputView.java
+++ b/paimon-common/src/main/java/org/apache/paimon/io/cache/CachedRandomInputView.java
@@ -20,7 +20,7 @@ package org.apache.paimon.io.cache;
 
 import org.apache.paimon.io.SeekableDataInputView;
 import org.apache.paimon.memory.MemorySegment;
-import org.apache.flink.table.store.utils.MathUtils;
+import org.apache.paimon.utils.MathUtils;
 
 import org.apache.paimon.data.AbstractPagedInputView;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/lookup/hash/HashLookupStoreReader.java b/paimon-common/src/main/java/org/apache/paimon/lookup/hash/HashLookupStoreReader.java
index dea195a08..0407d0450 100644
--- a/paimon-common/src/main/java/org/apache/paimon/lookup/hash/HashLookupStoreReader.java
+++ b/paimon-common/src/main/java/org/apache/paimon/lookup/hash/HashLookupStoreReader.java
@@ -25,8 +25,8 @@ package org.apache.paimon.lookup.hash;
 import org.apache.paimon.io.cache.CacheManager;
 import org.apache.paimon.io.cache.CachedRandomInputView;
 import org.apache.paimon.lookup.LookupStoreReader;
-import org.apache.flink.table.store.utils.MurmurHashUtils;
-import org.apache.flink.table.store.utils.VarLengthIntUtils;
+import org.apache.paimon.utils.MurmurHashUtils;
+import org.apache.paimon.utils.VarLengthIntUtils;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/paimon-common/src/main/java/org/apache/paimon/lookup/hash/HashLookupStoreWriter.java b/paimon-common/src/main/java/org/apache/paimon/lookup/hash/HashLookupStoreWriter.java
index 3a0c8e9b6..ce946e841 100644
--- a/paimon-common/src/main/java/org/apache/paimon/lookup/hash/HashLookupStoreWriter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/lookup/hash/HashLookupStoreWriter.java
@@ -23,8 +23,8 @@
 package org.apache.paimon.lookup.hash;
 
 import org.apache.paimon.lookup.LookupStoreWriter;
-import org.apache.flink.table.store.utils.MurmurHashUtils;
-import org.apache.flink.table.store.utils.VarLengthIntUtils;
+import org.apache.paimon.utils.MurmurHashUtils;
+import org.apache.paimon.utils.VarLengthIntUtils;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/paimon-common/src/main/java/org/apache/paimon/memory/MemorySegmentUtils.java b/paimon-common/src/main/java/org/apache/paimon/memory/MemorySegmentUtils.java
index 4277629d9..3913b15c0 100644
--- a/paimon-common/src/main/java/org/apache/paimon/memory/MemorySegmentUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/memory/MemorySegmentUtils.java
@@ -19,7 +19,7 @@
 package org.apache.paimon.memory;
 
 import org.apache.paimon.io.DataOutputView;
-import org.apache.flink.table.store.utils.MurmurHashUtils;
+import org.apache.paimon.utils.MurmurHashUtils;
 
 import org.apache.paimon.annotation.VisibleForTesting;
 import org.apache.paimon.data.BinaryArray;
diff --git a/paimon-common/src/main/java/org/apache/paimon/memory/MemoryUtils.java b/paimon-common/src/main/java/org/apache/paimon/memory/MemoryUtils.java
index 316cfb48a..63a4ebd0a 100644
--- a/paimon-common/src/main/java/org/apache/paimon/memory/MemoryUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/memory/MemoryUtils.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.memory;
 
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import java.lang.reflect.Field;
 import java.nio.Buffer;
diff --git a/paimon-common/src/main/java/org/apache/paimon/options/CatalogOptions.java b/paimon-common/src/main/java/org/apache/paimon/options/CatalogOptions.java
index f053fd455..e4a3f26bf 100644
--- a/paimon-common/src/main/java/org/apache/paimon/options/CatalogOptions.java
+++ b/paimon-common/src/main/java/org/apache/paimon/options/CatalogOptions.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.options;
 
-import org.apache.flink.table.store.table.TableType;
+import org.apache.paimon.table.TableType;
 
 import java.time.Duration;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/options/ConfigOption.java b/paimon-common/src/main/java/org/apache/paimon/options/ConfigOption.java
index 28fbc73cf..5741eae93 100644
--- a/paimon-common/src/main/java/org/apache/paimon/options/ConfigOption.java
+++ b/paimon-common/src/main/java/org/apache/paimon/options/ConfigOption.java
@@ -27,7 +27,7 @@ import java.util.Collections;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /**
  * A {@code ConfigOption} describes a configuration parameter. It encapsulates the configuration
diff --git a/paimon-common/src/main/java/org/apache/paimon/options/ConfigOptions.java b/paimon-common/src/main/java/org/apache/paimon/options/ConfigOptions.java
index 3fcdcd233..e1c4b0061 100644
--- a/paimon-common/src/main/java/org/apache/paimon/options/ConfigOptions.java
+++ b/paimon-common/src/main/java/org/apache/paimon/options/ConfigOptions.java
@@ -27,7 +27,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /**
  * {@code ConfigOptions} are used to build a {@link ConfigOption}. The option is typically built in
diff --git a/paimon-common/src/main/java/org/apache/paimon/options/MemorySize.java b/paimon-common/src/main/java/org/apache/paimon/options/MemorySize.java
index 41ad758f8..f85d68ce0 100644
--- a/paimon-common/src/main/java/org/apache/paimon/options/MemorySize.java
+++ b/paimon-common/src/main/java/org/apache/paimon/options/MemorySize.java
@@ -34,8 +34,8 @@ import static org.apache.paimon.options.MemorySize.MemoryUnit.KILO_BYTES;
 import static org.apache.paimon.options.MemorySize.MemoryUnit.MEGA_BYTES;
 import static org.apache.paimon.options.MemorySize.MemoryUnit.TERA_BYTES;
 import static org.apache.paimon.options.MemorySize.MemoryUnit.hasUnit;
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /**
  * MemorySize is a representation of a number of bytes, viewable in different units.
diff --git a/paimon-common/src/main/java/org/apache/paimon/options/OptionsUtils.java b/paimon-common/src/main/java/org/apache/paimon/options/OptionsUtils.java
index d39a906a5..54dc795a4 100644
--- a/paimon-common/src/main/java/org/apache/paimon/options/OptionsUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/options/OptionsUtils.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.options;
 
-import org.apache.flink.table.store.utils.TimeUtils;
+import org.apache.paimon.utils.TimeUtils;
 
 import javax.annotation.Nonnull;
 
diff --git a/paimon-common/src/main/java/org/apache/paimon/options/StructuredOptionsSplitter.java b/paimon-common/src/main/java/org/apache/paimon/options/StructuredOptionsSplitter.java
index 9e9b6155e..a500159a6 100644
--- a/paimon-common/src/main/java/org/apache/paimon/options/StructuredOptionsSplitter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/options/StructuredOptionsSplitter.java
@@ -22,7 +22,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /** Helper class for splitting a string on a given delimiter with quoting logic. */
 class StructuredOptionsSplitter {
diff --git a/paimon-common/src/main/java/org/apache/paimon/options/description/TextElement.java b/paimon-common/src/main/java/org/apache/paimon/options/description/TextElement.java
index 8ae5c2060..79b95de21 100644
--- a/paimon-common/src/main/java/org/apache/paimon/options/description/TextElement.java
+++ b/paimon-common/src/main/java/org/apache/paimon/options/description/TextElement.java
@@ -18,7 +18,7 @@
 
 package org.apache.paimon.options.description;
 
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.utils.StringUtils;
 
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/plugin/ComponentClassLoader.java b/paimon-common/src/main/java/org/apache/paimon/plugin/ComponentClassLoader.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/plugin/ComponentClassLoader.java
rename to paimon-common/src/main/java/org/apache/paimon/plugin/ComponentClassLoader.java
index 5abe5a2ae..e1dd27c9e 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/plugin/ComponentClassLoader.java
+++ b/paimon-common/src/main/java/org/apache/paimon/plugin/ComponentClassLoader.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.plugin;
+package org.apache.paimon.plugin;
 
-import org.apache.flink.table.store.utils.FunctionWithException;
+import org.apache.paimon.utils.FunctionWithException;
 
 import org.apache.flink.shaded.guava30.com.google.common.collect.Iterators;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/plugin/PluginLoader.java b/paimon-common/src/main/java/org/apache/paimon/plugin/PluginLoader.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/plugin/PluginLoader.java
rename to paimon-common/src/main/java/org/apache/paimon/plugin/PluginLoader.java
index 753c9ed9a..e55f23a78 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/plugin/PluginLoader.java
+++ b/paimon-common/src/main/java/org/apache/paimon/plugin/PluginLoader.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.plugin;
+package org.apache.paimon.plugin;
 
-import org.apache.flink.table.store.utils.IOUtils;
-import org.apache.flink.table.store.utils.LocalFileUtils;
+import org.apache.paimon.utils.IOUtils;
+import org.apache.paimon.utils.LocalFileUtils;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/reader/RecordReader.java b/paimon-common/src/main/java/org/apache/paimon/reader/RecordReader.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/reader/RecordReader.java
rename to paimon-common/src/main/java/org/apache/paimon/reader/RecordReader.java
index b3c50c27e..210230dbb 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/reader/RecordReader.java
+++ b/paimon-common/src/main/java/org/apache/paimon/reader/RecordReader.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.reader;
+package org.apache.paimon.reader;
 
-import org.apache.flink.table.store.utils.CloseableIterator;
+import org.apache.paimon.utils.CloseableIterator;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/reader/RecordReaderIterator.java b/paimon-common/src/main/java/org/apache/paimon/reader/RecordReaderIterator.java
similarity index 96%
rename from paimon-common/src/main/java/org/apache/flink/table/store/reader/RecordReaderIterator.java
rename to paimon-common/src/main/java/org/apache/paimon/reader/RecordReaderIterator.java
index 4fb3ea4e4..fedb1aeef 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/reader/RecordReaderIterator.java
+++ b/paimon-common/src/main/java/org/apache/paimon/reader/RecordReaderIterator.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.reader;
+package org.apache.paimon.reader;
 
-import org.apache.flink.table.store.utils.CloseableIterator;
+import org.apache.paimon.utils.CloseableIterator;
 
 import java.io.IOException;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/table/TableType.java b/paimon-common/src/main/java/org/apache/paimon/table/TableType.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/table/TableType.java
rename to paimon-common/src/main/java/org/apache/paimon/table/TableType.java
index 662f85d3d..e466d641e 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/table/TableType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/table/TableType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.table;
+package org.apache.paimon.table;
 
 import org.apache.paimon.options.description.DescribedEnum;
 import org.apache.paimon.options.description.InlineElement;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/ArrayType.java b/paimon-common/src/main/java/org/apache/paimon/types/ArrayType.java
similarity index 96%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/ArrayType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/ArrayType.java
index 3cea3386e..bb26e7cc5 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/ArrayType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/ArrayType.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/BigIntType.java b/paimon-common/src/main/java/org/apache/paimon/types/BigIntType.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/BigIntType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/BigIntType.java
index fc766bcbb..897eff7cc 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/BigIntType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/BigIntType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/BinaryType.java b/paimon-common/src/main/java/org/apache/paimon/types/BinaryType.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/BinaryType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/BinaryType.java
index 064f8746d..7e2d1b8d0 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/BinaryType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/BinaryType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/BooleanType.java b/paimon-common/src/main/java/org/apache/paimon/types/BooleanType.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/BooleanType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/BooleanType.java
index 813e9e49e..aa55dd56a 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/BooleanType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/BooleanType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/CharType.java b/paimon-common/src/main/java/org/apache/paimon/types/CharType.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/CharType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/CharType.java
index 7087e93bc..f762d1474 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/CharType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/CharType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataField.java b/paimon-common/src/main/java/org/apache/paimon/types/DataField.java
similarity index 95%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DataField.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DataField.java
index 4db6b77ef..120a6995c 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataField.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DataField.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 
@@ -28,8 +28,8 @@ import java.io.IOException;
 import java.io.Serializable;
 import java.util.Objects;
 
-import static org.apache.flink.table.store.utils.EncodingUtils.escapeIdentifier;
-import static org.apache.flink.table.store.utils.EncodingUtils.escapeSingleQuotes;
+import static org.apache.paimon.utils.EncodingUtils.escapeIdentifier;
+import static org.apache.paimon.utils.EncodingUtils.escapeSingleQuotes;
 
 /**
  * Defines the field of a row type.
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataType.java b/paimon-common/src/main/java/org/apache/paimon/types/DataType.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DataType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DataType.java
index 63318a225..8dcdcbba8 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DataType.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeCasts.java b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeCasts.java
similarity index 86%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeCasts.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DataTypeCasts.java
index 637a6dc1b..0c0d2a813 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeCasts.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeCasts.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import java.util.Arrays;
 import java.util.HashMap;
@@ -24,31 +24,31 @@ import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-import static org.apache.flink.table.store.types.DataTypeFamily.BINARY_STRING;
-import static org.apache.flink.table.store.types.DataTypeFamily.CHARACTER_STRING;
-import static org.apache.flink.table.store.types.DataTypeFamily.CONSTRUCTED;
-import static org.apache.flink.table.store.types.DataTypeFamily.DATETIME;
-import static org.apache.flink.table.store.types.DataTypeFamily.INTEGER_NUMERIC;
-import static org.apache.flink.table.store.types.DataTypeFamily.NUMERIC;
-import static org.apache.flink.table.store.types.DataTypeFamily.PREDEFINED;
-import static org.apache.flink.table.store.types.DataTypeFamily.TIME;
-import static org.apache.flink.table.store.types.DataTypeFamily.TIMESTAMP;
-import static org.apache.flink.table.store.types.DataTypeRoot.BIGINT;
-import static org.apache.flink.table.store.types.DataTypeRoot.BINARY;
-import static org.apache.flink.table.store.types.DataTypeRoot.BOOLEAN;
-import static org.apache.flink.table.store.types.DataTypeRoot.CHAR;
-import static org.apache.flink.table.store.types.DataTypeRoot.DATE;
-import static org.apache.flink.table.store.types.DataTypeRoot.DECIMAL;
-import static org.apache.flink.table.store.types.DataTypeRoot.DOUBLE;
-import static org.apache.flink.table.store.types.DataTypeRoot.FLOAT;
-import static org.apache.flink.table.store.types.DataTypeRoot.INTEGER;
-import static org.apache.flink.table.store.types.DataTypeRoot.SMALLINT;
-import static org.apache.flink.table.store.types.DataTypeRoot.TIMESTAMP_WITHOUT_TIME_ZONE;
-import static org.apache.flink.table.store.types.DataTypeRoot.TIMESTAMP_WITH_LOCAL_TIME_ZONE;
-import static org.apache.flink.table.store.types.DataTypeRoot.TIME_WITHOUT_TIME_ZONE;
-import static org.apache.flink.table.store.types.DataTypeRoot.TINYINT;
-import static org.apache.flink.table.store.types.DataTypeRoot.VARBINARY;
-import static org.apache.flink.table.store.types.DataTypeRoot.VARCHAR;
+import static org.apache.paimon.types.DataTypeFamily.BINARY_STRING;
+import static org.apache.paimon.types.DataTypeFamily.CHARACTER_STRING;
+import static org.apache.paimon.types.DataTypeFamily.CONSTRUCTED;
+import static org.apache.paimon.types.DataTypeFamily.DATETIME;
+import static org.apache.paimon.types.DataTypeFamily.INTEGER_NUMERIC;
+import static org.apache.paimon.types.DataTypeFamily.NUMERIC;
+import static org.apache.paimon.types.DataTypeFamily.PREDEFINED;
+import static org.apache.paimon.types.DataTypeFamily.TIME;
+import static org.apache.paimon.types.DataTypeFamily.TIMESTAMP;
+import static org.apache.paimon.types.DataTypeRoot.BIGINT;
+import static org.apache.paimon.types.DataTypeRoot.BINARY;
+import static org.apache.paimon.types.DataTypeRoot.BOOLEAN;
+import static org.apache.paimon.types.DataTypeRoot.CHAR;
+import static org.apache.paimon.types.DataTypeRoot.DATE;
+import static org.apache.paimon.types.DataTypeRoot.DECIMAL;
+import static org.apache.paimon.types.DataTypeRoot.DOUBLE;
+import static org.apache.paimon.types.DataTypeRoot.FLOAT;
+import static org.apache.paimon.types.DataTypeRoot.INTEGER;
+import static org.apache.paimon.types.DataTypeRoot.SMALLINT;
+import static org.apache.paimon.types.DataTypeRoot.TIMESTAMP_WITHOUT_TIME_ZONE;
+import static org.apache.paimon.types.DataTypeRoot.TIMESTAMP_WITH_LOCAL_TIME_ZONE;
+import static org.apache.paimon.types.DataTypeRoot.TIME_WITHOUT_TIME_ZONE;
+import static org.apache.paimon.types.DataTypeRoot.TINYINT;
+import static org.apache.paimon.types.DataTypeRoot.VARBINARY;
+import static org.apache.paimon.types.DataTypeRoot.VARCHAR;
 
 /** Utilities for casting {@link DataType}. */
 public final class DataTypeCasts {
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeChecks.java b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeChecks.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeChecks.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DataTypeChecks.java
index 8c821789f..bbe5505a3 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeChecks.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeChecks.java
@@ -16,13 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
-import static org.apache.flink.table.store.types.DataTypeRoot.ROW;
+import static org.apache.paimon.types.DataTypeRoot.ROW;
 
 /**
  * Utilities for checking {@link DataType} and avoiding a lot of type casting and repetitive work.
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeDefaultVisitor.java b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeDefaultVisitor.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeDefaultVisitor.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DataTypeDefaultVisitor.java
index 5e23becd2..f3a67f45b 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeDefaultVisitor.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeDefaultVisitor.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeFamily.java b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeFamily.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeFamily.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DataTypeFamily.java
index 950649cbf..edefcd19f 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeFamily.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeFamily.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeJsonParser.java b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeJsonParser.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeJsonParser.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DataTypeJsonParser.java
index 60c172b76..a7a3f01e6 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeJsonParser.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeJsonParser.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
 
@@ -30,8 +30,8 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 /**
- * Parser for creating instances of {@link org.apache.flink.table.store.types.DataType} from a
- * serialized string created with {@link org.apache.flink.table.store.types.DataType#serializeJson}.
+ * Parser for creating instances of {@link org.apache.paimon.types.DataType} from a
+ * serialized string created with {@link org.apache.paimon.types.DataType#serializeJson}.
  */
 public final class DataTypeJsonParser {
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeRoot.java b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeRoot.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeRoot.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DataTypeRoot.java
index 6daf7fd6b..ef1000af8 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeRoot.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeRoot.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeVisitor.java b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeVisitor.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeVisitor.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DataTypeVisitor.java
index a1d55c937..41e714af4 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypeVisitor.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DataTypeVisitor.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypes.java b/paimon-common/src/main/java/org/apache/paimon/types/DataTypes.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypes.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DataTypes.java
index 0a01b0cf8..de5a35467 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DataTypes.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DataTypes.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DateType.java b/paimon-common/src/main/java/org/apache/paimon/types/DateType.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DateType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DateType.java
index 50024d68f..9f4578132 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DateType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DateType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DecimalType.java b/paimon-common/src/main/java/org/apache/paimon/types/DecimalType.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DecimalType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DecimalType.java
index a88cf1f73..06e3c92cd 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DecimalType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DecimalType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/DoubleType.java b/paimon-common/src/main/java/org/apache/paimon/types/DoubleType.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/DoubleType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/DoubleType.java
index 0d36b2cfd..81442e76b 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/DoubleType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/DoubleType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/FloatType.java b/paimon-common/src/main/java/org/apache/paimon/types/FloatType.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/FloatType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/FloatType.java
index eece59a99..854f4fd56 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/FloatType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/FloatType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/IntType.java b/paimon-common/src/main/java/org/apache/paimon/types/IntType.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/IntType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/IntType.java
index 7ffe4848a..1bb71d205 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/IntType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/IntType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/LocalZonedTimestampType.java b/paimon-common/src/main/java/org/apache/paimon/types/LocalZonedTimestampType.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/LocalZonedTimestampType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/LocalZonedTimestampType.java
index bbe7b5697..a64e31221 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/LocalZonedTimestampType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/LocalZonedTimestampType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/MapType.java b/paimon-common/src/main/java/org/apache/paimon/types/MapType.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/MapType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/MapType.java
index 679d7d168..8eebd9685 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/MapType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/MapType.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/MultisetType.java b/paimon-common/src/main/java/org/apache/paimon/types/MultisetType.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/MultisetType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/MultisetType.java
index 9c26e6cf9..fda3cacf2 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/MultisetType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/MultisetType.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
-import org.apache.flink.table.store.utils.Preconditions;
+import org.apache.paimon.utils.Preconditions;
 
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/ReassignFieldId.java b/paimon-common/src/main/java/org/apache/paimon/types/ReassignFieldId.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/ReassignFieldId.java
rename to paimon-common/src/main/java/org/apache/paimon/types/ReassignFieldId.java
index e14e6a512..b102fa22e 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/ReassignFieldId.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/ReassignFieldId.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import java.util.concurrent.atomic.AtomicInteger;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/RowKind.java b/paimon-common/src/main/java/org/apache/paimon/types/RowKind.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/RowKind.java
rename to paimon-common/src/main/java/org/apache/paimon/types/RowKind.java
index fddef8d1d..c70704a8e 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/RowKind.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/RowKind.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/RowType.java b/paimon-common/src/main/java/org/apache/paimon/types/RowType.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/RowType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/RowType.java
index a7365a1fa..b27a2aee5 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/RowType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/RowType.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
-import org.apache.flink.table.store.utils.Preconditions;
-import org.apache.flink.table.store.utils.StringUtils;
+import org.apache.paimon.utils.Preconditions;
+import org.apache.paimon.utils.StringUtils;
 
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonGenerator;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/SmallIntType.java b/paimon-common/src/main/java/org/apache/paimon/types/SmallIntType.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/SmallIntType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/SmallIntType.java
index 347b7d82a..1f637f623 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/SmallIntType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/SmallIntType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/TimeType.java b/paimon-common/src/main/java/org/apache/paimon/types/TimeType.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/TimeType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/TimeType.java
index 397a29354..59235c729 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/TimeType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/TimeType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/TimestampType.java b/paimon-common/src/main/java/org/apache/paimon/types/TimestampType.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/TimestampType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/TimestampType.java
index 56d5999d5..3c0b2651b 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/TimestampType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/TimestampType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/TinyIntType.java b/paimon-common/src/main/java/org/apache/paimon/types/TinyIntType.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/TinyIntType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/TinyIntType.java
index fd6f303c1..b42d2a25a 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/TinyIntType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/TinyIntType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/VarBinaryType.java b/paimon-common/src/main/java/org/apache/paimon/types/VarBinaryType.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/VarBinaryType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/VarBinaryType.java
index 9f83a83aa..6612b24af 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/VarBinaryType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/VarBinaryType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/types/VarCharType.java b/paimon-common/src/main/java/org/apache/paimon/types/VarCharType.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/types/VarCharType.java
rename to paimon-common/src/main/java/org/apache/paimon/types/VarCharType.java
index ecc3c60bb..b17f7bb87 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/types/VarCharType.java
+++ b/paimon-common/src/main/java/org/apache/paimon/types/VarCharType.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.types;
+package org.apache.paimon.types;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ArrayUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/ArrayUtils.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/ArrayUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/ArrayUtils.java
index fe24037fc..d34df6ce8 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ArrayUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/ArrayUtils.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 /** Utils for array. */
 public class ArrayUtils {
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/BinaryRowDataUtil.java b/paimon-common/src/main/java/org/apache/paimon/utils/BinaryRowDataUtil.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/BinaryRowDataUtil.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/BinaryRowDataUtil.java
index 27a314c1c..96da9d786 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/BinaryRowDataUtil.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/BinaryRowDataUtil.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import org.apache.paimon.memory.MemorySegment;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/CloseableIterator.java b/paimon-common/src/main/java/org/apache/paimon/utils/CloseableIterator.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/CloseableIterator.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/CloseableIterator.java
index 4ca11d895..36db657ef 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/CloseableIterator.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/CloseableIterator.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import org.apache.paimon.annotation.Experimental;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/DateTimeUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/DateTimeUtils.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/DateTimeUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/DateTimeUtils.java
index 576b2a61a..66d509970 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/DateTimeUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/DateTimeUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import org.apache.paimon.data.Timestamp;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/DecimalUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/DecimalUtils.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/DecimalUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/DecimalUtils.java
index a25cb6aa8..935f1edfc 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/DecimalUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/DecimalUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.Decimal;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/EncodingUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/EncodingUtils.java
similarity index 96%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/EncodingUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/EncodingUtils.java
index 2f8b33946..bddc9a962 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/EncodingUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/EncodingUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 /** General utilities for string-encoding. */
 public abstract class EncodingUtils {
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ExceptionUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/ExceptionUtils.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/ExceptionUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/ExceptionUtils.java
index 366541426..3c178ba0d 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ExceptionUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/ExceptionUtils.java
@@ -24,7 +24,7 @@
 // ownership.
 //
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import javax.annotation.Nullable;
 
@@ -39,7 +39,7 @@ import java.util.concurrent.ExecutionException;
 import java.util.function.Function;
 import java.util.function.Predicate;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /** A collection of utility functions for dealing with exceptions and exception workflows. */
 public final class ExceptionUtils {
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/FileIOUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/FileIOUtils.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/FileIOUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/FileIOUtils.java
index 7a5848cfb..5fb1f167e 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/FileIOUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/FileIOUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -31,7 +31,7 @@ import java.nio.file.Files;
 import java.nio.file.StandardOpenOption;
 import java.util.Arrays;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /**
  * This is a utility class to deal files and directories. Contains utilities for recursive deletion
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Filter.java b/paimon-common/src/main/java/org/apache/paimon/utils/Filter.java
similarity index 96%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/Filter.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/Filter.java
index 733c19709..c70de3adc 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Filter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/Filter.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import org.apache.paimon.file.predicate.Predicate;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/FunctionWithException.java b/paimon-common/src/main/java/org/apache/paimon/utils/FunctionWithException.java
similarity index 96%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/FunctionWithException.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/FunctionWithException.java
index 26f309ba6..b96cb3e3e 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/FunctionWithException.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/FunctionWithException.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 /**
  * A functional interface for a {@link java.util.function.Function} that may throw exceptions.
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/HadoopUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/HadoopUtils.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/HadoopUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/HadoopUtils.java
index fac383acb..2dc13cc8b 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/HadoopUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/HadoopUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import org.apache.paimon.options.Options;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/IOFunction.java b/paimon-common/src/main/java/org/apache/paimon/utils/IOFunction.java
similarity index 95%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/IOFunction.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/IOFunction.java
index a6d761b35..80deff0c5 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/IOFunction.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/IOFunction.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.io.IOException;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/IOUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/IOUtils.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/IOUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/IOUtils.java
index f05aeb24b..270fe8d5b 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/IOUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/IOUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/InstantiationUtil.java b/paimon-common/src/main/java/org/apache/paimon/utils/InstantiationUtil.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/InstantiationUtil.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/InstantiationUtil.java
index 12dcb8649..5ca837203 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/InstantiationUtil.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/InstantiationUtil.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/IteratorResultIterator.java b/paimon-common/src/main/java/org/apache/paimon/utils/IteratorResultIterator.java
similarity index 93%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/IteratorResultIterator.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/IteratorResultIterator.java
index 69269db93..a2bffd31d 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/IteratorResultIterator.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/IteratorResultIterator.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import javax.annotation.Nullable;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/KeyProjectedRow.java b/paimon-common/src/main/java/org/apache/paimon/utils/KeyProjectedRow.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/KeyProjectedRow.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/KeyProjectedRow.java
index 723b09746..62742acc8 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/KeyProjectedRow.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/KeyProjectedRow.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.Decimal;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/LocalFileUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/LocalFileUtils.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/LocalFileUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/LocalFileUtils.java
index a3930ea79..799d8f2bc 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/LocalFileUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/LocalFileUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.io.IOException;
 import java.nio.file.Files;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/LongCounter.java b/paimon-common/src/main/java/org/apache/paimon/utils/LongCounter.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/LongCounter.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/LongCounter.java
index 77a3d9584..bd25ce56b 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/LongCounter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/LongCounter.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.io.Serializable;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/MapBuilder.java b/paimon-common/src/main/java/org/apache/paimon/utils/MapBuilder.java
similarity index 96%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/MapBuilder.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/MapBuilder.java
index dc92f4d97..6a068ee5e 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/MapBuilder.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/MapBuilder.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.util.Collections;
 import java.util.HashMap;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/MathUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/MathUtils.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/MathUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/MathUtils.java
index 6eb7cc15d..11a5f670e 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/MathUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/MathUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 /** Collection of simple mathematical routines. */
 public class MathUtils {
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/MurmurHashUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/MurmurHashUtils.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/MurmurHashUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/MurmurHashUtils.java
index 52c79b88e..1af9f6358 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/MurmurHashUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/MurmurHashUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import org.apache.paimon.memory.MemorySegment;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/OperatingSystem.java b/paimon-common/src/main/java/org/apache/paimon/utils/OperatingSystem.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/OperatingSystem.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/OperatingSystem.java
index 9026fefa7..9e923b3fa 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/OperatingSystem.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/OperatingSystem.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 /** An enumeration indicating the operating system that the JVM runs on. */
 public enum OperatingSystem {
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/OrderedPacking.java b/paimon-common/src/main/java/org/apache/paimon/utils/OrderedPacking.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/OrderedPacking.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/OrderedPacking.java
index bd3295c6f..7e4854782 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/OrderedPacking.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/OrderedPacking.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Pair.java b/paimon-common/src/main/java/org/apache/paimon/utils/Pair.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/Pair.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/Pair.java
index d7423ab9f..3dbec2214 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Pair.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/Pair.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.io.Serializable;
 import java.util.Map;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Pool.java b/paimon-common/src/main/java/org/apache/paimon/utils/Pool.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/Pool.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/Pool.java
index 151f5e473..5a9b2acbe 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Pool.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/Pool.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import javax.annotation.Nullable;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Preconditions.java b/paimon-common/src/main/java/org/apache/paimon/utils/Preconditions.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/Preconditions.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/Preconditions.java
index 2468749c7..46441a23b 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Preconditions.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/Preconditions.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import javax.annotation.Nullable;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ProjectedRow.java b/paimon-common/src/main/java/org/apache/paimon/utils/ProjectedRow.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/ProjectedRow.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/ProjectedRow.java
index 4b1ab88de..4239b4afb 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ProjectedRow.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/ProjectedRow.java
@@ -16,10 +16,10 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowKind;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowKind;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.Decimal;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Projection.java b/paimon-common/src/main/java/org/apache/paimon/utils/Projection.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/Projection.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/Projection.java
index 00eb295ab..553e949ff 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Projection.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/Projection.java
@@ -16,11 +16,11 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 
@@ -34,7 +34,7 @@ import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 
-import static org.apache.flink.table.store.types.DataTypeRoot.ROW;
+import static org.apache.paimon.types.DataTypeRoot.ROW;
 
 /**
  * {@link Projection} represents a list of (possibly nested) indexes that can be used to project
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/RecyclableIterator.java b/paimon-common/src/main/java/org/apache/paimon/utils/RecyclableIterator.java
similarity index 93%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/RecyclableIterator.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/RecyclableIterator.java
index 9e0e6101d..d6e14f935 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/RecyclableIterator.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/RecyclableIterator.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
-import org.apache.flink.table.store.reader.RecordReader;
+import org.apache.paimon.reader.RecordReader;
 
 import javax.annotation.Nullable;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Reference.java b/paimon-common/src/main/java/org/apache/paimon/utils/Reference.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/Reference.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/Reference.java
index 1779e6a09..2f006784f 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/Reference.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/Reference.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.util.Objects;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ReflectionUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/ReflectionUtils.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/ReflectionUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/ReflectionUtils.java
index c9482d72a..bf14043f3 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ReflectionUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/ReflectionUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/RowDataToObjectArrayConverter.java b/paimon-common/src/main/java/org/apache/paimon/utils/RowDataToObjectArrayConverter.java
similarity index 95%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/RowDataToObjectArrayConverter.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/RowDataToObjectArrayConverter.java
index 9d913b299..a8438fe0b 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/RowDataToObjectArrayConverter.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/RowDataToObjectArrayConverter.java
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
-import org.apache.flink.table.store.types.RowType;
+import org.apache.paimon.types.RowType;
 
 import org.apache.paimon.data.InternalRow;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/RowDataUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/RowDataUtils.java
similarity index 95%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/RowDataUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/RowDataUtils.java
index 36a6b6e5c..7c3ea4b3b 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/RowDataUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/RowDataUtils.java
@@ -16,18 +16,18 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
-import org.apache.flink.table.store.types.ArrayType;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeRoot;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.IntType;
-import org.apache.flink.table.store.types.LocalZonedTimestampType;
-import org.apache.flink.table.store.types.MapType;
-import org.apache.flink.table.store.types.MultisetType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.TimestampType;
+import org.apache.paimon.types.ArrayType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeRoot;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.IntType;
+import org.apache.paimon.types.LocalZonedTimestampType;
+import org.apache.paimon.types.MapType;
+import org.apache.paimon.types.MultisetType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.TimestampType;
 
 import org.apache.paimon.data.BinaryArray;
 import org.apache.paimon.data.BinaryMap;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/SerializableFunction.java b/paimon-common/src/main/java/org/apache/paimon/utils/SerializableFunction.java
similarity index 95%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/SerializableFunction.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/SerializableFunction.java
index f3edb145e..885591f51 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/SerializableFunction.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/SerializableFunction.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.io.Serializable;
 import java.util.function.Function;
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/SortUtil.java b/paimon-common/src/main/java/org/apache/paimon/utils/SortUtil.java
similarity index 99%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/SortUtil.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/SortUtil.java
index b257b7dd8..1359b1c2c 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/SortUtil.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/SortUtil.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import org.apache.paimon.memory.MemorySegment;
 
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/StringUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/StringUtils.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/StringUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/StringUtils.java
index 5d4baa492..099cb0107 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/StringUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/StringUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import org.apache.paimon.memory.MemorySegmentUtils;
 
@@ -30,8 +30,8 @@ import java.util.Objects;
 import java.util.Random;
 import java.util.concurrent.ThreadLocalRandom;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 import static org.apache.paimon.data.BinaryString.fromBytes;
 
 /**
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ThreadUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/ThreadUtils.java
similarity index 96%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/ThreadUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/ThreadUtils.java
index 6f0c1da33..d70041194 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ThreadUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/ThreadUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 /** Utils for thread. */
 public class ThreadUtils {
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ThrowingConsumer.java b/paimon-common/src/main/java/org/apache/paimon/utils/ThrowingConsumer.java
similarity index 96%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/ThrowingConsumer.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/ThrowingConsumer.java
index deb6f828c..723ede928 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/ThrowingConsumer.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/ThrowingConsumer.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 /**
  * This interface is basically Java's {@link java.util.function.Consumer} interface enhanced with
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/TimeUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/TimeUtils.java
similarity index 97%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/TimeUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/TimeUtils.java
index 63e731705..3b8e2ec81 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/TimeUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/TimeUtils.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.time.Duration;
 import java.time.temporal.ChronoUnit;
@@ -29,8 +29,8 @@ import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 
-import static org.apache.flink.table.store.utils.Preconditions.checkArgument;
-import static org.apache.flink.table.store.utils.Preconditions.checkNotNull;
+import static org.apache.paimon.utils.Preconditions.checkArgument;
+import static org.apache.paimon.utils.Preconditions.checkNotNull;
 
 /** Collection of utilities about time intervals. */
 public class TimeUtils {
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/TypeUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/TypeUtils.java
similarity index 91%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/TypeUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/TypeUtils.java
index 040beaf33..c199734bf 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/TypeUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/TypeUtils.java
@@ -16,15 +16,15 @@
  * limitations under the License.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
-import org.apache.flink.table.store.types.DataField;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeRoot;
-import org.apache.flink.table.store.types.DecimalType;
-import org.apache.flink.table.store.types.LocalZonedTimestampType;
-import org.apache.flink.table.store.types.RowType;
-import org.apache.flink.table.store.types.TimestampType;
+import org.apache.paimon.types.DataField;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeRoot;
+import org.apache.paimon.types.DecimalType;
+import org.apache.paimon.types.LocalZonedTimestampType;
+import org.apache.paimon.types.RowType;
+import org.apache.paimon.types.TimestampType;
 
 import org.apache.paimon.data.BinaryString;
 import org.apache.paimon.data.Decimal;
@@ -37,9 +37,9 @@ import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import static org.apache.flink.table.store.types.DataTypeChecks.getNestedTypes;
-import static org.apache.flink.table.store.types.DataTypeFamily.BINARY_STRING;
-import static org.apache.flink.table.store.types.DataTypeFamily.CHARACTER_STRING;
+import static org.apache.paimon.types.DataTypeChecks.getNestedTypes;
+import static org.apache.paimon.types.DataTypeFamily.BINARY_STRING;
+import static org.apache.paimon.types.DataTypeFamily.CHARACTER_STRING;
 
 /** Type related helper functions. */
 public class TypeUtils {
diff --git a/paimon-common/src/main/java/org/apache/flink/table/store/utils/VarLengthIntUtils.java b/paimon-common/src/main/java/org/apache/paimon/utils/VarLengthIntUtils.java
similarity index 98%
rename from paimon-common/src/main/java/org/apache/flink/table/store/utils/VarLengthIntUtils.java
rename to paimon-common/src/main/java/org/apache/paimon/utils/VarLengthIntUtils.java
index 706e95b46..f5f476d49 100644
--- a/paimon-common/src/main/java/org/apache/flink/table/store/utils/VarLengthIntUtils.java
+++ b/paimon-common/src/main/java/org/apache/paimon/utils/VarLengthIntUtils.java
@@ -12,7 +12,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  */
 
-package org.apache.flink.table.store.utils;
+package org.apache.paimon.utils;
 
 import java.io.DataInput;
 import java.io.DataOutput;
diff --git a/paimon-common/src/test/java/org/apache/flink/table/store/datagen/DataGenVisitorBase.java b/paimon-common/src/test/java/org/apache/flink/table/store/datagen/DataGenVisitorBase.java
index bead897fc..38f22ae56 100644
--- a/paimon-common/src/test/java/org/apache/flink/table/store/datagen/DataGenVisitorBase.java
+++ b/paimon-common/src/test/java/org/apache/flink/table/store/datagen/DataGenVisitorBase.java
@@ -19,10 +19,10 @@
 package org.apache.flink.table.store.datagen;
 
 import org.apache.paimon.options.Options;
-import org.apache.flink.table.store.types.DataType;
-import org.apache.flink.table.store.types.DataTypeDefaultVisitor;
-import org.apache.flink.table.store.types.DateType;
-import org.apache.flink.table.store.types.TimeType;
+import org.apache.paimon.types.DataType;
+import org.apache.paimon.types.DataTypeDefaultVisitor;
+import org.apache.paimon.types.DateType;
+import org.apache.paimon.types.TimeType;
 
... 4172 lines suppressed ...