diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeTblStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeTblStmt.java index fe4d17ea84..c6c95da9de 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeTblStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeTblStmt.java @@ -24,14 +24,14 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.View; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.ErrorCode; import org.apache.doris.common.ErrorReport; import org.apache.doris.common.FeNameFormat; import org.apache.doris.common.UserException; import org.apache.doris.datasource.CatalogIf; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.qe.ConnectContext; import org.apache.doris.statistics.AnalysisInfo.AnalysisType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java index 1393c3f410..01d090f6c5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java @@ -32,7 +32,6 @@ import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.TableIf.TableType; import org.apache.doris.catalog.Type; import org.apache.doris.catalog.View; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Config; import org.apache.doris.common.ErrorCode; @@ -41,6 +40,7 @@ import org.apache.doris.common.IdGenerator; import org.apache.doris.common.Pair; import org.apache.doris.common.UserException; import org.apache.doris.common.util.TimeUtils; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.planner.AggregationNode; import org.apache.doris.planner.AnalyticEvalNode; import org.apache.doris.planner.PlanNode; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/NativeInsertStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/NativeInsertStmt.java index 4401347996..2cdec74cd9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/NativeInsertStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/NativeInsertStmt.java @@ -33,8 +33,6 @@ import org.apache.doris.catalog.Partition; import org.apache.doris.catalog.PartitionType; import org.apache.doris.catalog.Table; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.JdbcExternalDatabase; -import org.apache.doris.catalog.external.JdbcExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.DdlException; import org.apache.doris.common.ErrorCode; @@ -46,6 +44,9 @@ import org.apache.doris.common.util.DebugUtil; import org.apache.doris.common.util.Util; import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.jdbc.JdbcExternalCatalog; +import org.apache.doris.datasource.jdbc.JdbcExternalDatabase; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; +import org.apache.doris.datasource.jdbc.sink.JdbcTableSink; import org.apache.doris.load.Load; import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.planner.DataPartition; @@ -54,7 +55,6 @@ import org.apache.doris.planner.ExportSink; import org.apache.doris.planner.GroupCommitBlockSink; import org.apache.doris.planner.GroupCommitPlanner; import org.apache.doris.planner.OlapTableSink; -import org.apache.doris.planner.external.jdbc.JdbcTableSink; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.SqlModeHelper; import org.apache.doris.rewrite.ExprRewriter; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionsStmt.java index 3ba1db23d5..1c61018bc5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionsStmt.java @@ -25,8 +25,6 @@ import org.apache.doris.catalog.Table; import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.TableIf.TableType; import org.apache.doris.catalog.Type; -import org.apache.doris.catalog.external.HMSExternalTable; -import org.apache.doris.catalog.external.MaxComputeExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.ErrorCode; import org.apache.doris.common.ErrorReport; @@ -37,8 +35,10 @@ import org.apache.doris.common.proc.ProcResult; import org.apache.doris.common.proc.ProcService; import org.apache.doris.common.util.OrderByPair; import org.apache.doris.datasource.CatalogIf; -import org.apache.doris.datasource.HMSExternalCatalog; -import org.apache.doris.datasource.MaxComputeExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalTable; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalCatalog; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalTable; import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ShowResultSetMetaData; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TableRef.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/TableRef.java index 4b58ab8ea4..0ade6730c0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TableRef.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TableRef.java @@ -23,7 +23,6 @@ package org.apache.doris.analysis; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.Type; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.ErrorCode; import org.apache.doris.common.ErrorReport; @@ -32,6 +31,7 @@ import org.apache.doris.common.UserException; import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; import org.apache.doris.common.util.TimeUtils; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.hudi.HudiUtils; import org.apache.doris.rewrite.ExprRewriter; import org.apache.doris.rewrite.ExprRewriter.ClauseType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/DatabaseIf.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/DatabaseIf.java index e80f335be1..454851620e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/DatabaseIf.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/DatabaseIf.java @@ -84,8 +84,6 @@ public interface DatabaseIf { } } - List getTablesOnIdOrder(); - List getViews(); default List getViewsOrEmpty() { diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java index 9a6a6ab8fd..0f4bc44a70 100755 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java @@ -129,10 +129,10 @@ import org.apache.doris.consistency.ConsistencyChecker; import org.apache.doris.cooldown.CooldownConfHandler; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.CatalogMgr; -import org.apache.doris.datasource.EsExternalCatalog; import org.apache.doris.datasource.ExternalMetaCacheMgr; import org.apache.doris.datasource.ExternalMetaIdMgr; import org.apache.doris.datasource.InternalCatalog; +import org.apache.doris.datasource.es.EsExternalCatalog; import org.apache.doris.datasource.es.EsRepository; import org.apache.doris.datasource.hive.HiveTransactionMgr; import org.apache.doris.datasource.hive.event.MetastoreEventsProcessor; @@ -5190,12 +5190,11 @@ public class Env { return checksum; } - public String dumpImage() { LOG.info("begin to dump meta data"); String dumpFilePath; - List databases = Lists.newArrayList(); - List> tableLists = Lists.newArrayList(); + List databases = Lists.newArrayList(); + List> tableLists = Lists.newArrayList(); tryLock(true); try { // sort all dbs to avoid potential dead lock @@ -5209,8 +5208,8 @@ public class Env { MetaLockUtils.readLockDatabases(databases); LOG.info("acquired all the dbs' read lock."); // lock all tables - for (DatabaseIf db : databases) { - List tableList = db.getTablesOnIdOrder(); + for (Database db : databases) { + List tableList = db.getTablesOnIdOrder(); MetaLockUtils.readLockTables(tableList); tableLists.add(tableList); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java index 5caf826bfe..ffa594f7b5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java @@ -20,12 +20,12 @@ package org.apache.doris.catalog; import org.apache.doris.analysis.RefreshCatalogStmt; import org.apache.doris.analysis.RefreshDbStmt; import org.apache.doris.analysis.RefreshTableStmt; -import org.apache.doris.catalog.external.ExternalDatabase; import org.apache.doris.common.DdlException; import org.apache.doris.common.ThreadPoolManager; import org.apache.doris.common.UserException; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.ExternalObjectLog; import org.apache.doris.qe.DdlExecutor; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java index 54406d0d44..7c1943c69a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java @@ -395,6 +395,7 @@ public interface TableIf { case HIVE: return "Hive"; case HUDI: + case HUDI_EXTERNAL_TABLE: return "Hudi"; case JDBC: case JDBC_EXTERNAL_TABLE: @@ -405,10 +406,9 @@ public interface TableIf { return "hms"; case ES_EXTERNAL_TABLE: return "es"; + case ICEBERG: case ICEBERG_EXTERNAL_TABLE: return "iceberg"; - case HUDI_EXTERNAL_TABLE: - return "hudi"; default: return null; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogFactory.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogFactory.java index b56c307bbf..264477d22a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogFactory.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogFactory.java @@ -28,8 +28,11 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.Resource; import org.apache.doris.common.DdlException; import org.apache.doris.common.FeConstants; +import org.apache.doris.datasource.es.EsExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; import org.apache.doris.datasource.iceberg.IcebergExternalCatalogFactory; import org.apache.doris.datasource.jdbc.JdbcExternalCatalog; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalCatalog; import org.apache.doris.datasource.paimon.PaimonExternalCatalogFactory; import org.apache.doris.datasource.test.TestExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java index c9a427d94c..c9b394fcb7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java @@ -30,10 +30,6 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.Resource; import org.apache.doris.catalog.Resource.ReferenceType; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.ExternalDatabase; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalDatabase; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.cluster.ClusterNamespace; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.CaseSensibility; @@ -47,6 +43,9 @@ import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; import org.apache.doris.common.util.PrintableMap; import org.apache.doris.common.util.TimeUtils; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalDatabase; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.persist.OperationType; import org.apache.doris.persist.gson.GsonPostProcessable; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java index 67508c4bbe..03ad99ce77 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java @@ -23,22 +23,21 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.InfoSchemaDb; import org.apache.doris.catalog.Resource; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.EsExternalDatabase; -import org.apache.doris.catalog.external.ExternalDatabase; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalDatabase; -import org.apache.doris.catalog.external.IcebergExternalDatabase; -import org.apache.doris.catalog.external.JdbcExternalDatabase; -import org.apache.doris.catalog.external.MaxComputeExternalDatabase; -import org.apache.doris.catalog.external.PaimonExternalDatabase; -import org.apache.doris.catalog.external.TestExternalDatabase; import org.apache.doris.cluster.ClusterNamespace; import org.apache.doris.common.DdlException; import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; import org.apache.doris.common.util.Util; +import org.apache.doris.datasource.es.EsExternalDatabase; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalDatabase; +import org.apache.doris.datasource.iceberg.IcebergExternalDatabase; import org.apache.doris.datasource.infoschema.ExternalInfoSchemaDatabase; +import org.apache.doris.datasource.jdbc.JdbcExternalDatabase; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalDatabase; +import org.apache.doris.datasource.paimon.PaimonExternalDatabase; import org.apache.doris.datasource.property.PropertyConverter; +import org.apache.doris.datasource.test.TestExternalDatabase; import org.apache.doris.persist.gson.GsonPostProcessable; import org.apache.doris.persist.gson.GsonUtils; import org.apache.doris.qe.ConnectContext; @@ -128,14 +127,17 @@ public abstract class ExternalCatalog return conf; } - protected List listDatabaseNames() { - throw new UnsupportedOperationException("Unsupported operation: " - + "listDatabaseNames from remote client when init catalog with " + logType.name()); + /** + * set some default properties when creating catalog + */ + public void setDefaultPropsWhenCreating(boolean isReplay) throws DdlException { + } - public void setDefaultPropsWhenCreating(boolean isReplay) throws DdlException { - // set some default properties when creating catalog - } + /** + * @return list of database names in this catalog + */ + protected abstract List listDatabaseNames(); /** * @param dbName @@ -152,8 +154,15 @@ public abstract class ExternalCatalog */ public abstract boolean tableExist(SessionContext ctx, String dbName, String tblName); + /** + * init some local objects such as: + * hms client, read properties from hive-site.xml, es client + */ + protected abstract void initLocalObjectsImpl(); + /** * check if the specified table exist in doris. + * Currently only be used for hms event handler. * * @param dbName * @param tblName @@ -198,10 +207,6 @@ public abstract class ExternalCatalog return this.initialized; } - // init some local objects such as: - // hms client, read properties from hive-site.xml, es client - protected abstract void initLocalObjectsImpl(); - // check if all required properties are set when creating catalog public void checkProperties() throws DdlException { // check refresh parameter of catalog @@ -311,10 +316,6 @@ public abstract class ExternalCatalog } } - public void updateDbList() { - Env.getCurrentEnv().getExtMetaCacheMgr().invalidateCatalogCache(id); - } - public final List getSchema(String dbName, String tblName) { makeSureInitialized(); Optional> db = getDb(dbName); diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalDatabase.java similarity index 97% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalDatabase.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalDatabase.java index 4af08e9b38..a4f4afde7e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalDatabase.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource; import org.apache.doris.catalog.DatabaseIf; import org.apache.doris.catalog.DatabaseProperty; @@ -27,9 +27,6 @@ import org.apache.doris.common.MetaNotFoundException; import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; import org.apache.doris.common.util.Util; -import org.apache.doris.datasource.CatalogIf; -import org.apache.doris.datasource.ExternalCatalog; -import org.apache.doris.datasource.InitDatabaseLog; import org.apache.doris.datasource.infoschema.ExternalInfoSchemaDatabase; import org.apache.doris.datasource.infoschema.ExternalInfoSchemaTable; import org.apache.doris.persist.gson.GsonPostProcessable; @@ -291,11 +288,6 @@ public abstract class ExternalDatabase return Lists.newArrayList(idToTbl.values()); } - @Override - public List getTablesOnIdOrder() { - throw new NotImplementedException("getTablesOnIdOrder() is not implemented"); - } - @Override public List getViews() { throw new NotImplementedException("getViews() is not implemented"); diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java index 2b495b647b..fd25be82ac 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java @@ -18,17 +18,20 @@ package org.apache.doris.datasource; import org.apache.doris.catalog.Type; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.cluster.ClusterNamespace; import org.apache.doris.common.Config; import org.apache.doris.common.ThreadPoolManager; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.hive.HiveMetaStoreCache; +import org.apache.doris.datasource.hudi.source.HudiPartitionMgr; +import org.apache.doris.datasource.hudi.source.HudiPartitionProcessor; +import org.apache.doris.datasource.iceberg.IcebergMetadataCache; +import org.apache.doris.datasource.iceberg.IcebergMetadataCacheMgr; +import org.apache.doris.datasource.maxcompute.MaxComputeMetadataCache; +import org.apache.doris.datasource.maxcompute.MaxComputeMetadataCacheMgr; import org.apache.doris.fs.FileSystemCache; import org.apache.doris.nereids.exceptions.NotSupportedException; -import org.apache.doris.planner.external.hudi.HudiPartitionMgr; -import org.apache.doris.planner.external.hudi.HudiPartitionProcessor; -import org.apache.doris.planner.external.iceberg.IcebergMetadataCache; -import org.apache.doris.planner.external.iceberg.IcebergMetadataCacheMgr; import com.google.common.collect.Maps; import org.apache.logging.log4j.LogManager; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaIdMgr.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaIdMgr.java index 621c25b369..151bc93f98 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaIdMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaIdMgr.java @@ -18,6 +18,7 @@ package org.apache.doris.datasource; import org.apache.doris.catalog.Env; +import org.apache.doris.datasource.hive.HMSExternalCatalog; import org.apache.doris.datasource.hive.event.MetastoreEventsProcessor; import com.google.common.base.Preconditions; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/ExternalScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalScanNode.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/ExternalScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalScanNode.java index ad6699d223..aa61637218 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/ExternalScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalScanNode.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource; import org.apache.doris.analysis.Analyzer; import org.apache.doris.analysis.TupleDescriptor; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalTable.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalTable.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalTable.java index d8e89aab48..8f7fada5f6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalTable.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource; import org.apache.doris.alter.AlterCancelException; import org.apache.doris.catalog.Column; @@ -31,8 +31,6 @@ import org.apache.doris.common.MetaNotFoundException; import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; import org.apache.doris.common.util.Util; -import org.apache.doris.datasource.ExternalCatalog; -import org.apache.doris.datasource.ExternalSchemaCache; import org.apache.doris.persist.gson.GsonPostProcessable; import org.apache.doris.persist.gson.GsonUtils; import org.apache.doris.statistics.AnalysisInfo; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FederationBackendPolicy.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/FederationBackendPolicy.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/FederationBackendPolicy.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/FederationBackendPolicy.java index 785d76478c..73a49bb24a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FederationBackendPolicy.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/FederationBackendPolicy.java @@ -18,7 +18,7 @@ // https://github.com/trinodb/trino/blob/master/core/trino-main/src/main/java/io/trino/execution/scheduler/UniformNodeSelector.java // and modified by Doris -package org.apache.doris.planner.external; +package org.apache.doris.datasource; import org.apache.doris.catalog.Env; import org.apache.doris.common.Config; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileGroupInfo.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/FileGroupInfo.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/FileGroupInfo.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/FileGroupInfo.java index 1293f295b9..eb7f862d7e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileGroupInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/FileGroupInfo.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource; import org.apache.doris.analysis.BrokerDesc; import org.apache.doris.analysis.StorageBackend; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileQueryScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/FileQueryScanNode.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/FileQueryScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/FileQueryScanNode.java index d719bce817..6c60692ea2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileQueryScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/FileQueryScanNode.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource; import org.apache.doris.analysis.Analyzer; import org.apache.doris.analysis.SlotDescriptor; @@ -28,18 +28,19 @@ import org.apache.doris.catalog.FsBroker; import org.apache.doris.catalog.FunctionGenTable; import org.apache.doris.catalog.HdfsResource; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.ExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.NotImplementedException; import org.apache.doris.common.UserException; import org.apache.doris.common.util.BrokerUtil; import org.apache.doris.common.util.Util; -import org.apache.doris.datasource.HMSExternalCatalog; import org.apache.doris.datasource.hive.AcidInfo; import org.apache.doris.datasource.hive.AcidInfo.DeleteDeltaInfo; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.source.HiveScanNode; +import org.apache.doris.datasource.hive.source.HiveSplit; +import org.apache.doris.datasource.iceberg.source.IcebergSplit; import org.apache.doris.nereids.glue.translator.PlanTranslatorContext; import org.apache.doris.planner.PlanNodeId; -import org.apache.doris.planner.external.iceberg.IcebergSplit; import org.apache.doris.qe.ConnectContext; import org.apache.doris.spi.Split; import org.apache.doris.statistics.StatisticalType; @@ -508,13 +509,12 @@ public abstract class FileQueryScanNode extends FileScanNode { protected abstract TFileFormatType getFileFormatType() throws UserException; - protected TFileCompressType getFileCompressType(FileSplit fileSplit) throws UserException { return Util.inferFileCompressTypeByPath(fileSplit.getPath().toString()); } protected TFileAttributes getFileAttributes() throws UserException { - throw new NotImplementedException(""); + throw new NotImplementedException("getFileAttributes is not implemented."); } protected abstract List getPathPartitionKeys() throws UserException; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/FileScanNode.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/FileScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/FileScanNode.java index f18642292d..71008e2108 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/FileScanNode.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource; import org.apache.doris.analysis.Expr; import org.apache.doris.analysis.NullLiteral; @@ -26,8 +26,8 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.TableIf; import org.apache.doris.common.UserException; import org.apache.doris.common.util.Util; +import org.apache.doris.datasource.FileSplit.FileSplitCreator; import org.apache.doris.planner.PlanNodeId; -import org.apache.doris.planner.external.FileSplit.FileSplitCreator; import org.apache.doris.qe.ConnectContext; import org.apache.doris.spi.Split; import org.apache.doris.statistics.StatisticalType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileSplit.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/FileSplit.java similarity index 88% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/FileSplit.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/FileSplit.java index 1221d3ad21..b02e8be0cd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileSplit.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/FileSplit.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource; import org.apache.doris.spi.Split; @@ -26,23 +26,23 @@ import java.util.List; @Data public class FileSplit implements Split { - protected Path path; - protected long start; + public Path path; + public long start; // length of this split, in bytes - protected long length; + public long length; // length of the file this split belongs to, in bytes // -1 means unset. // If the file length is not set, the file length will be fetched from the file system. - protected long fileLength; - protected long modificationTime; - protected String[] hosts; - protected TableFormatType tableFormatType; + public long fileLength; + public long modificationTime; + public String[] hosts; + public TableFormatType tableFormatType; // The values of partitions. // e.g for file : hdfs://path/to/table/part1=a/part2=b/datafile // partitionValues would be ["part1", "part2"] - protected List partitionValues; + public List partitionValues; - protected List alternativeHosts; + public List alternativeHosts; public FileSplit(Path path, long start, long length, long fileLength, long modificationTime, String[] hosts, List partitionValues) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileSplitStrategy.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/FileSplitStrategy.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/FileSplitStrategy.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/FileSplitStrategy.java index 617fd67e0b..00b69fca21 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/FileSplitStrategy.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/FileSplitStrategy.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource; /** * TODO: This class would be used later for split assignment. diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/LoadScanProvider.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/LoadScanProvider.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/LoadScanProvider.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/LoadScanProvider.java index c51c0373e4..1e66cbe83a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/LoadScanProvider.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/LoadScanProvider.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource; import org.apache.doris.analysis.Analyzer; import org.apache.doris.analysis.ColumnDef.DefaultValue; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/NodeSelectionStrategy.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/NodeSelectionStrategy.java similarity index 95% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/NodeSelectionStrategy.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/NodeSelectionStrategy.java index cda56b27cd..1cea6cc504 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/NodeSelectionStrategy.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/NodeSelectionStrategy.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource; public enum NodeSelectionStrategy { ROUND_ROBIN, diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/SplitCreator.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/SplitCreator.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/SplitCreator.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/SplitCreator.java index ff9d4dd92e..095a9a5ecc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/SplitCreator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/SplitCreator.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource; import org.apache.doris.spi.Split; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/SplitWeight.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/SplitWeight.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/SplitWeight.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/SplitWeight.java index 31f123de17..f35f88e3cb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/SplitWeight.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/SplitWeight.java @@ -18,7 +18,7 @@ // https://github.com/trinodb/trino/blob/master/core/trino-spi/src/main/java/io/trino/spi/SplitWeight.java // and modified by Doris -package org.apache.doris.planner.external; +package org.apache.doris.datasource; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/TableFormatType.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/TableFormatType.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/TableFormatType.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/TableFormatType.java index b5f41f97ba..818895b9d6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/TableFormatType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/TableFormatType.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource; public enum TableFormatType { HIVE("hive"), diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/TablePartitionValues.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/TablePartitionValues.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/TablePartitionValues.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/TablePartitionValues.java index acd44a5090..60765d705d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/TablePartitionValues.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/TablePartitionValues.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource; import org.apache.doris.analysis.PartitionValue; import org.apache.doris.catalog.ListPartitionItem; @@ -23,7 +23,6 @@ import org.apache.doris.catalog.PartitionItem; import org.apache.doris.catalog.PartitionKey; import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; -import org.apache.doris.datasource.CacheException; import org.apache.doris.planner.ColumnBound; import org.apache.doris.planner.ListPartitionPrunerV2; import org.apache.doris.planner.PartitionPrunerV2Base.UniqueId; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/EsExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsExternalCatalog.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/datasource/EsExternalCatalog.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsExternalCatalog.java index 7588817a56..0b7c10194f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/EsExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsExternalCatalog.java @@ -15,13 +15,14 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.datasource; +package org.apache.doris.datasource.es; import org.apache.doris.catalog.EsResource; -import org.apache.doris.catalog.external.EsExternalDatabase; import org.apache.doris.common.DdlException; -import org.apache.doris.datasource.es.DorisEsException; -import org.apache.doris.datasource.es.EsRestClient; +import org.apache.doris.datasource.CatalogProperty; +import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.InitCatalogLog; +import org.apache.doris.datasource.SessionContext; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/EsExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsExternalDatabase.java similarity index 94% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/EsExternalDatabase.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsExternalDatabase.java index f3a3118444..7d576bba1b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/EsExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsExternalDatabase.java @@ -15,10 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.es; -import org.apache.doris.datasource.EsExternalCatalog; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.InitDatabaseLog; /** diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/EsExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsExternalTable.java similarity index 94% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/EsExternalTable.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsExternalTable.java index f25a6610cb..6399f89da5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/EsExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsExternalTable.java @@ -15,13 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.es; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.EsTable; -import org.apache.doris.datasource.EsExternalCatalog; -import org.apache.doris.datasource.es.EsRestClient; -import org.apache.doris.datasource.es.EsUtil; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.thrift.TEsTable; import org.apache.doris.thrift.TTableDescriptor; import org.apache.doris.thrift.TTableType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/EsScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/source/EsScanNode.java similarity index 97% rename from fe/fe-core/src/main/java/org/apache/doris/planner/EsScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/es/source/EsScanNode.java index 054f2f41e1..7bc4f9ea1c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/EsScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/source/EsScanNode.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner; +package org.apache.doris.datasource.es.source; import org.apache.doris.analysis.Analyzer; import org.apache.doris.analysis.Expr; @@ -27,9 +27,11 @@ import org.apache.doris.catalog.EsTable; import org.apache.doris.catalog.PartitionInfo; import org.apache.doris.catalog.PartitionItem; import org.apache.doris.catalog.RangePartitionInfo; -import org.apache.doris.catalog.external.EsExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.ExternalScanNode; +import org.apache.doris.datasource.FederationBackendPolicy; +import org.apache.doris.datasource.es.EsExternalTable; import org.apache.doris.datasource.es.EsShardPartitions; import org.apache.doris.datasource.es.EsShardRouting; import org.apache.doris.datasource.es.EsTablePartitions; @@ -37,8 +39,9 @@ import org.apache.doris.datasource.es.QueryBuilders; import org.apache.doris.datasource.es.QueryBuilders.BoolQueryBuilder; import org.apache.doris.datasource.es.QueryBuilders.BuilderOptions; import org.apache.doris.datasource.es.QueryBuilders.QueryBuilder; -import org.apache.doris.planner.external.ExternalScanNode; -import org.apache.doris.planner.external.FederationBackendPolicy; +import org.apache.doris.planner.PartitionPruner; +import org.apache.doris.planner.PlanNodeId; +import org.apache.doris.planner.RangePartitionPrunerV2; import org.apache.doris.statistics.StatisticalType; import org.apache.doris.statistics.query.StatsDelta; import org.apache.doris.system.Backend; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/HMSClientException.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSClientException.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/datasource/HMSClientException.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSClientException.java index 8e1a4fd33a..6e714e20a9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/HMSClientException.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSClientException.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.datasource; +package org.apache.doris.datasource.hive; import org.apache.doris.common.util.Util; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/HMSExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalCatalog.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/datasource/HMSExternalCatalog.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalCatalog.java index 3601565aad..afbbd36f02 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/HMSExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalCatalog.java @@ -15,20 +15,21 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.datasource; +package org.apache.doris.datasource.hive; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.HdfsResource; -import org.apache.doris.catalog.external.ExternalDatabase; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalDatabase; import org.apache.doris.cluster.ClusterNamespace; import org.apache.doris.common.Config; import org.apache.doris.common.DdlException; import org.apache.doris.common.security.authentication.AuthenticationConfig; import org.apache.doris.common.security.authentication.HadoopUGI; -import org.apache.doris.datasource.hive.HMSCachedClient; -import org.apache.doris.datasource.hive.HMSCachedClientFactory; +import org.apache.doris.datasource.CatalogProperty; +import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.InitCatalogLog; +import org.apache.doris.datasource.SessionContext; import org.apache.doris.datasource.jdbc.client.JdbcClientConfig; import org.apache.doris.datasource.property.PropertyConverter; import org.apache.doris.datasource.property.constants.HMSProperties; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalDatabase.java similarity index 84% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalDatabase.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalDatabase.java index 3fbe5e968e..2287909f26 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalDatabase.java @@ -15,20 +15,15 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.hive; -import org.apache.doris.catalog.TableIf; import org.apache.doris.datasource.ExternalCatalog; -import org.apache.doris.datasource.HMSExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.InitDatabaseLog; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import java.util.Comparator; -import java.util.List; -import java.util.stream.Collectors; - /** * Hive metastore external database. */ @@ -51,12 +46,6 @@ public class HMSExternalDatabase extends ExternalDatabase { return new HMSExternalTable(tblId, tableName, name, (HMSExternalCatalog) extCatalog); } - @Override - public List getTablesOnIdOrder() { - // Sort the name instead, because the id may change. - return getTables().stream().sorted(Comparator.comparing(TableIf::getName)).collect(Collectors.toList()); - } - public void addTableForTest(HMSExternalTable tbl) { idToTbl.put(tbl.getId(), tbl); tableNameToId.put(tbl.getName(), tbl.getId()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalTable.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java index fbc804192a..c841c749fb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java @@ -15,11 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.hive; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; -import org.apache.doris.catalog.HiveMetaStoreClientHelper; import org.apache.doris.catalog.ListPartitionItem; import org.apache.doris.catalog.PartitionItem; import org.apache.doris.catalog.PartitionType; @@ -27,10 +26,7 @@ import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; -import org.apache.doris.datasource.HMSExternalCatalog; -import org.apache.doris.datasource.hive.HMSCachedClient; -import org.apache.doris.datasource.hive.HiveMetaStoreCache; -import org.apache.doris.datasource.hive.HivePartition; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.hudi.HudiUtils; import org.apache.doris.datasource.iceberg.IcebergUtils; import org.apache.doris.mtmv.MTMVMaxTimestampSnapshot; @@ -299,20 +295,6 @@ public class HMSExternalTable extends ExternalTable implements MTMVRelatedTableI return remoteTable.isSetViewOriginalText() || remoteTable.isSetViewExpandedText(); } - @Override - public String getEngine() { - switch (type) { - case HIVE: - return "Hive"; - case ICEBERG: - return "Iceberg"; - case HUDI: - return "Hudi"; - default: - return null; - } - } - @Override public String getComment() { return ""; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveBucketUtil.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveBucketUtil.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/HiveBucketUtil.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveBucketUtil.java index 87bd11acc4..7435a3d58d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveBucketUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveBucketUtil.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog; +package org.apache.doris.datasource.hive; import org.apache.doris.analysis.BinaryPredicate; import org.apache.doris.analysis.CompoundPredicate; @@ -23,6 +23,7 @@ import org.apache.doris.analysis.Expr; import org.apache.doris.analysis.InPredicate; import org.apache.doris.analysis.LiteralExpr; import org.apache.doris.analysis.SlotRef; +import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.common.DdlException; import org.apache.doris.thrift.TExprOpcode; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java index 1d1565e5e7..62fb70cb02 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java @@ -26,7 +26,6 @@ import org.apache.doris.catalog.ListPartitionItem; import org.apache.doris.catalog.PartitionItem; import org.apache.doris.catalog.PartitionKey; import org.apache.doris.catalog.Type; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Config; import org.apache.doris.common.FeConstants; @@ -36,7 +35,7 @@ import org.apache.doris.common.security.authentication.AuthenticationConfig; import org.apache.doris.common.util.CacheBulkLoader; import org.apache.doris.common.util.LocationPath; import org.apache.doris.datasource.CacheException; -import org.apache.doris.datasource.HMSExternalCatalog; +import org.apache.doris.datasource.FileSplit; import org.apache.doris.datasource.hive.AcidInfo.DeleteDeltaInfo; import org.apache.doris.datasource.property.PropertyConverter; import org.apache.doris.fs.FileSystemCache; @@ -50,7 +49,6 @@ import org.apache.doris.metric.MetricRepo; import org.apache.doris.planner.ColumnBound; import org.apache.doris.planner.ListPartitionPrunerV2; import org.apache.doris.planner.PartitionPrunerV2Base.UniqueId; -import org.apache.doris.planner.external.FileSplit; import com.google.common.base.Preconditions; import com.google.common.base.Strings; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveMetaStoreClientHelper.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreClientHelper.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/HiveMetaStoreClientHelper.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreClientHelper.java index 1b2fe78f30..d5656778cd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveMetaStoreClientHelper.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreClientHelper.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog; +package org.apache.doris.datasource.hive; import org.apache.doris.analysis.BinaryPredicate; import org.apache.doris.analysis.BoolLiteral; @@ -30,7 +30,15 @@ import org.apache.doris.analysis.LiteralExpr; import org.apache.doris.analysis.NullLiteral; import org.apache.doris.analysis.SlotRef; import org.apache.doris.analysis.StringLiteral; -import org.apache.doris.catalog.external.HMSExternalTable; +import org.apache.doris.catalog.ArrayType; +import org.apache.doris.catalog.Env; +import org.apache.doris.catalog.HiveTable; +import org.apache.doris.catalog.MapType; +import org.apache.doris.catalog.PrimitiveType; +import org.apache.doris.catalog.ScalarType; +import org.apache.doris.catalog.StructField; +import org.apache.doris.catalog.StructType; +import org.apache.doris.catalog.Type; import org.apache.doris.common.Config; import org.apache.doris.common.DdlException; import org.apache.doris.common.security.authentication.AuthenticationConfig; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveTransaction.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveTransaction.java index 35d96068f0..a88b113636 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveTransaction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveTransaction.java @@ -18,9 +18,7 @@ package org.apache.doris.datasource.hive; import org.apache.doris.analysis.TableName; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.UserException; -import org.apache.doris.datasource.HMSExternalCatalog; import com.google.common.collect.Lists; import org.apache.hadoop.hive.common.ValidWriteIdList; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveUtil.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveUtil.java index 4387eb2162..2fdd4f21f3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveUtil.java @@ -17,7 +17,6 @@ package org.apache.doris.datasource.hive; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.UserException; import org.apache.doris.fs.remote.BrokerFileSystem; import org.apache.doris.fs.remote.RemoteFileSystem; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/PostgreSQLJdbcHMSCachedClient.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/PostgreSQLJdbcHMSCachedClient.java index 062d6394b0..174a15221b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/PostgreSQLJdbcHMSCachedClient.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/PostgreSQLJdbcHMSCachedClient.java @@ -20,7 +20,6 @@ package org.apache.doris.datasource.hive; import org.apache.doris.analysis.TableName; import org.apache.doris.catalog.JdbcTable; import org.apache.doris.catalog.Type; -import org.apache.doris.datasource.HMSClientException; import org.apache.doris.datasource.hive.event.MetastoreNotificationFetchException; import org.apache.doris.datasource.jdbc.client.JdbcClientConfig; import org.apache.doris.thrift.TOdbcTableType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/ThriftHMSCachedClient.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/ThriftHMSCachedClient.java index 17e0bbcc74..f7f61a2e94 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/ThriftHMSCachedClient.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/ThriftHMSCachedClient.java @@ -18,9 +18,7 @@ package org.apache.doris.datasource.hive; import org.apache.doris.analysis.TableName; -import org.apache.doris.catalog.HiveMetaStoreClientHelper; import org.apache.doris.common.Config; -import org.apache.doris.datasource.HMSClientException; import org.apache.doris.datasource.hive.event.MetastoreNotificationFetchException; import org.apache.doris.datasource.property.constants.HMSProperties; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventFactory.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventFactory.java index a3ba092703..493f1f7cb7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventFactory.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventFactory.java @@ -19,8 +19,8 @@ package org.apache.doris.datasource.hive.event; import org.apache.doris.catalog.Env; -import org.apache.doris.datasource.HMSExternalCatalog; import org.apache.doris.datasource.MetaIdMappingsLog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventsProcessor.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventsProcessor.java index a94c5bbb65..00f7bd1be0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventsProcessor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventsProcessor.java @@ -24,8 +24,8 @@ import org.apache.doris.common.Config; import org.apache.doris.common.util.MasterDaemon; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.CatalogLog; -import org.apache.doris.datasource.HMSClientException; -import org.apache.doris.datasource.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSClientException; +import org.apache.doris.datasource.hive.HMSExternalCatalog; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.MasterOpExecutor; import org.apache.doris.qe.OriginStatement; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/HiveScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveScanNode.java similarity index 97% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/HiveScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveScanNode.java index ac8a4ebd67..c901ee654a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/HiveScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveScanNode.java @@ -15,33 +15,35 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource.hive.source; import org.apache.doris.analysis.FunctionCallExpr; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; -import org.apache.doris.catalog.HiveMetaStoreClientHelper; import org.apache.doris.catalog.ListPartitionItem; import org.apache.doris.catalog.PartitionItem; import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.Type; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.DdlException; import org.apache.doris.common.UserException; import org.apache.doris.common.util.DebugUtil; import org.apache.doris.common.util.LocationPath; import org.apache.doris.common.util.Util; -import org.apache.doris.datasource.HMSExternalCatalog; +import org.apache.doris.datasource.FileQueryScanNode; +import org.apache.doris.datasource.FileSplit; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.hive.HiveMetaStoreCache; import org.apache.doris.datasource.hive.HiveMetaStoreCache.FileCacheValue; +import org.apache.doris.datasource.hive.HiveMetaStoreClientHelper; import org.apache.doris.datasource.hive.HivePartition; import org.apache.doris.datasource.hive.HiveTransaction; +import org.apache.doris.datasource.hive.source.HiveSplit.HiveSplitCreator; import org.apache.doris.nereids.trees.plans.logical.LogicalFileScan.SelectedPartitions; import org.apache.doris.planner.ListPartitionPrunerV2; import org.apache.doris.planner.PlanNodeId; -import org.apache.doris.planner.external.HiveSplit.HiveSplitCreator; import org.apache.doris.qe.ConnectContext; import org.apache.doris.spi.Split; import org.apache.doris.statistics.StatisticalType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/HiveSplit.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveSplit.java similarity index 93% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/HiveSplit.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveSplit.java index 0bc8442760..7c9345991f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/HiveSplit.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveSplit.java @@ -15,8 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource.hive.source; +import org.apache.doris.datasource.FileSplit; +import org.apache.doris.datasource.SplitCreator; import org.apache.doris.datasource.hive.AcidInfo; import org.apache.doris.spi.Split; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiCachedPartitionProcessor.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiCachedPartitionProcessor.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiCachedPartitionProcessor.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiCachedPartitionProcessor.java index ba793ecf40..eb09c5efb5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiCachedPartitionProcessor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiCachedPartitionProcessor.java @@ -15,13 +15,13 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.hudi; +package org.apache.doris.datasource.hudi.source; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.Config; import org.apache.doris.datasource.CacheException; -import org.apache.doris.planner.external.TablePartitionValues; -import org.apache.doris.planner.external.TablePartitionValues.TablePartitionKey; +import org.apache.doris.datasource.TablePartitionValues; +import org.apache.doris.datasource.TablePartitionValues.TablePartitionKey; +import org.apache.doris.datasource.hive.HMSExternalTable; import com.google.common.base.Preconditions; import com.google.common.cache.CacheBuilder; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiPartitionMgr.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiPartitionMgr.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiPartitionMgr.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiPartitionMgr.java index 4956a6f58c..b1d894e3d7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiPartitionMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiPartitionMgr.java @@ -15,10 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.hudi; +package org.apache.doris.datasource.hudi.source; import org.apache.doris.datasource.ExternalCatalog; -import org.apache.doris.datasource.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; import com.google.common.collect.Maps; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiPartitionProcessor.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiPartitionProcessor.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiPartitionProcessor.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiPartitionProcessor.java index 807bb37d46..91f9eff259 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiPartitionProcessor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiPartitionProcessor.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.hudi; +package org.apache.doris.datasource.hudi.source; import org.apache.hudi.common.config.HoodieMetadataConfig; import org.apache.hudi.common.engine.HoodieLocalEngineContext; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiScanNode.java similarity index 97% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiScanNode.java index d197635cef..144d308140 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiScanNode.java @@ -15,25 +15,25 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.hudi; +package org.apache.doris.datasource.hudi.source; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.Env; -import org.apache.doris.catalog.HiveMetaStoreClientHelper; import org.apache.doris.catalog.PartitionItem; import org.apache.doris.catalog.Type; -import org.apache.doris.catalog.external.ExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; import org.apache.doris.common.util.LocationPath; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.FileSplit; +import org.apache.doris.datasource.TableFormatType; +import org.apache.doris.datasource.TablePartitionValues; +import org.apache.doris.datasource.hive.HiveMetaStoreClientHelper; import org.apache.doris.datasource.hive.HivePartition; +import org.apache.doris.datasource.hive.source.HiveScanNode; import org.apache.doris.datasource.hudi.HudiUtils; import org.apache.doris.planner.ListPartitionPrunerV2; import org.apache.doris.planner.PlanNodeId; -import org.apache.doris.planner.external.FileSplit; -import org.apache.doris.planner.external.HiveScanNode; -import org.apache.doris.planner.external.TableFormatType; -import org.apache.doris.planner.external.TablePartitionValues; import org.apache.doris.spi.Split; import org.apache.doris.statistics.StatisticalType; import org.apache.doris.thrift.TExplainLevel; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiSplit.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiSplit.java similarity index 93% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiSplit.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiSplit.java index 6e7a877a1a..121dcf6800 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiSplit.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiSplit.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.hudi; +package org.apache.doris.datasource.hudi.source; -import org.apache.doris.planner.external.FileSplit; +import org.apache.doris.datasource.FileSplit; import lombok.Data; import org.apache.hadoop.fs.Path; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/IcebergExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalDatabase.java similarity index 82% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/IcebergExternalDatabase.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalDatabase.java index 86c70a6fc7..5f1fb69146 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/IcebergExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalDatabase.java @@ -15,20 +15,15 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.iceberg; -import org.apache.doris.catalog.TableIf; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.InitDatabaseLog; -import org.apache.doris.datasource.iceberg.IcebergExternalCatalog; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import java.util.Comparator; -import java.util.List; -import java.util.stream.Collectors; - public class IcebergExternalDatabase extends ExternalDatabase { private static final Logger LOG = LogManager.getLogger(IcebergExternalDatabase.class); @@ -42,12 +37,6 @@ public class IcebergExternalDatabase extends ExternalDatabase getTablesOnIdOrder() { - // Sort the name instead, because the id may change. - return getTables().stream().sorted(Comparator.comparing(TableIf::getName)).collect(Collectors.toList()); - } - @Override public void dropTable(String tableName) { if (LOG.isDebugEnabled()) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/IcebergExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalTable.java similarity index 93% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/IcebergExternalTable.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalTable.java index b6c899b640..21f7c1d3d2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/IcebergExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalTable.java @@ -15,12 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.iceberg; import org.apache.doris.catalog.Column; -import org.apache.doris.catalog.HiveMetaStoreClientHelper; -import org.apache.doris.datasource.iceberg.IcebergExternalCatalog; -import org.apache.doris.datasource.iceberg.IcebergUtils; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.hive.HiveMetaStoreClientHelper; import org.apache.doris.statistics.AnalysisInfo; import org.apache.doris.statistics.BaseAnalysisTask; import org.apache.doris.statistics.ColumnStatistic; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergMetadataCache.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataCache.java similarity index 97% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergMetadataCache.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataCache.java index 9f273ca630..aebc385f50 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergMetadataCache.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataCache.java @@ -15,15 +15,14 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.iceberg; +package org.apache.doris.datasource.iceberg; import org.apache.doris.catalog.Env; -import org.apache.doris.catalog.HiveMetaStoreClientHelper; import org.apache.doris.common.Config; import org.apache.doris.common.UserException; import org.apache.doris.datasource.CatalogIf; -import org.apache.doris.datasource.HMSExternalCatalog; -import org.apache.doris.datasource.iceberg.IcebergExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HiveMetaStoreClientHelper; import org.apache.doris.datasource.property.constants.HMSProperties; import org.apache.doris.thrift.TIcebergMetadataParams; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergMetadataCacheMgr.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataCacheMgr.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergMetadataCacheMgr.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataCacheMgr.java index 5708e54213..012af41879 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergMetadataCacheMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataCacheMgr.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.iceberg; +package org.apache.doris.datasource.iceberg; public class IcebergMetadataCacheMgr { diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java index 5499f8c080..f66babfe03 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java @@ -36,11 +36,11 @@ import org.apache.doris.analysis.Subquery; import org.apache.doris.catalog.ArrayType; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; -import org.apache.doris.catalog.HiveMetaStoreClientHelper; import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.Type; import org.apache.doris.common.util.TimeUtils; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.hive.HiveMetaStoreClientHelper; import org.apache.doris.thrift.TExprOpcode; import com.google.common.collect.Lists; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/broker/IcebergBrokerIO.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/broker/IcebergBrokerIO.java index ec3b4f1703..a79ce4619f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/broker/IcebergBrokerIO.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/broker/IcebergBrokerIO.java @@ -18,7 +18,7 @@ package org.apache.doris.datasource.iceberg.broker; import org.apache.doris.analysis.BrokerDesc; -import org.apache.doris.datasource.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; import com.google.common.collect.ImmutableMap; import org.apache.iceberg.io.FileIO; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergApiSource.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergApiSource.java similarity index 95% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergApiSource.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergApiSource.java index 6eed310927..9c2334383f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergApiSource.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergApiSource.java @@ -15,15 +15,15 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.iceberg; +package org.apache.doris.datasource.iceberg.source; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.IcebergExternalTable; import org.apache.doris.common.MetaNotFoundException; import org.apache.doris.common.UserException; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.iceberg.IcebergExternalTable; import org.apache.doris.planner.ColumnRange; import org.apache.doris.thrift.TFileAttributes; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergDeleteFileFilter.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergDeleteFileFilter.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergDeleteFileFilter.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergDeleteFileFilter.java index e1e94a8329..394bc849a5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergDeleteFileFilter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergDeleteFileFilter.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.iceberg; +package org.apache.doris.datasource.iceberg.source; import lombok.Data; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergHMSSource.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergHMSSource.java similarity index 95% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergHMSSource.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergHMSSource.java index 62c96930f0..0f197678da 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergHMSSource.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergHMSSource.java @@ -15,18 +15,18 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.iceberg; +package org.apache.doris.datasource.iceberg.source; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.DdlException; import org.apache.doris.common.MetaNotFoundException; import org.apache.doris.common.UserException; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalTable; +import org.apache.doris.datasource.hive.source.HiveScanNode; import org.apache.doris.planner.ColumnRange; -import org.apache.doris.planner.external.HiveScanNode; import org.apache.doris.thrift.TFileAttributes; import org.apache.doris.thrift.TFileTextScanRangeParams; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergScanNode.java similarity index 97% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergScanNode.java index 4bedf2f75b..f8b72208ea 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergScanNode.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.iceberg; +package org.apache.doris.datasource.iceberg.source; import org.apache.doris.analysis.Expr; import org.apache.doris.analysis.FunctionCallExpr; @@ -23,24 +23,23 @@ import org.apache.doris.analysis.TableSnapshot; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.HdfsResource; -import org.apache.doris.catalog.HiveMetaStoreClientHelper; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalTable; -import org.apache.doris.catalog.external.IcebergExternalTable; import org.apache.doris.common.DdlException; import org.apache.doris.common.UserException; import org.apache.doris.common.util.LocationPath; import org.apache.doris.common.util.TimeUtils; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.FileQueryScanNode; +import org.apache.doris.datasource.TableFormatType; +import org.apache.doris.datasource.hive.HMSExternalTable; +import org.apache.doris.datasource.hive.HiveMetaStoreClientHelper; import org.apache.doris.datasource.iceberg.IcebergExternalCatalog; +import org.apache.doris.datasource.iceberg.IcebergExternalTable; import org.apache.doris.datasource.iceberg.IcebergUtils; import org.apache.doris.planner.PlanNodeId; -import org.apache.doris.planner.external.FileQueryScanNode; -import org.apache.doris.planner.external.TableFormatType; import org.apache.doris.qe.ConnectContext; import org.apache.doris.spi.Split; import org.apache.doris.statistics.StatisticalType; -import org.apache.doris.thrift.TFileAttributes; import org.apache.doris.thrift.TFileFormatType; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TFileType; @@ -381,11 +380,6 @@ public class IcebergScanNode extends FileQueryScanNode { return type; } - @Override - public TFileAttributes getFileAttributes() throws UserException { - return source.getFileAttributes(); - } - @Override public List getPathPartitionKeys() throws UserException { return icebergTable.spec().fields().stream().map(PartitionField::name).map(String::toLowerCase) diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergSource.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergSource.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergSource.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergSource.java index 2b9dcd23d6..b4b1bf2a80 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergSource.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergSource.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.iceberg; +package org.apache.doris.datasource.iceberg.source; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.TableIf; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergSplit.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergSplit.java similarity index 93% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergSplit.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergSplit.java index 67e7e9ad4e..b4ea232c00 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/iceberg/IcebergSplit.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergSplit.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.iceberg; +package org.apache.doris.datasource.iceberg.source; -import org.apache.doris.planner.external.FileSplit; +import org.apache.doris.datasource.FileSplit; import lombok.Data; import org.apache.hadoop.fs.Path; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/infoschema/ExternalInfoSchemaDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/infoschema/ExternalInfoSchemaDatabase.java index 4c7c200c5d..843083076e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/infoschema/ExternalInfoSchemaDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/infoschema/ExternalInfoSchemaDatabase.java @@ -19,9 +19,9 @@ package org.apache.doris.datasource.infoschema; import org.apache.doris.catalog.InfoSchemaDb; import org.apache.doris.catalog.SchemaTable; -import org.apache.doris.catalog.external.ExternalDatabase; -import org.apache.doris.catalog.external.ExternalTable; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.InitDatabaseLog.Type; import com.google.common.collect.Lists; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/infoschema/ExternalInfoSchemaTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/infoschema/ExternalInfoSchemaTable.java index 3551f05060..6faf965752 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/infoschema/ExternalInfoSchemaTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/infoschema/ExternalInfoSchemaTable.java @@ -21,8 +21,8 @@ import org.apache.doris.analysis.SchemaTableType; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.InfoSchemaDb; import org.apache.doris.catalog.SchemaTable; -import org.apache.doris.catalog.external.ExternalTable; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.thrift.TSchemaTable; import org.apache.doris.thrift.TTableDescriptor; import org.apache.doris.thrift.TTableType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java index 59c356f0df..ee2ca9e0e0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalCatalog.java @@ -18,7 +18,6 @@ package org.apache.doris.datasource.jdbc; import org.apache.doris.catalog.JdbcResource; -import org.apache.doris.catalog.external.JdbcExternalDatabase; import org.apache.doris.common.DdlException; import org.apache.doris.datasource.CatalogProperty; import org.apache.doris.datasource.ExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/JdbcExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalDatabase.java similarity index 94% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/JdbcExternalDatabase.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalDatabase.java index 2d86745553..29d95038c2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/JdbcExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalDatabase.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.jdbc; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.InitDatabaseLog; -import org.apache.doris.datasource.jdbc.JdbcExternalCatalog; public class JdbcExternalDatabase extends ExternalDatabase { diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/JdbcExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalTable.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/JdbcExternalTable.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalTable.java index a33d2f6b66..a6199ba8c8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/JdbcExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/JdbcExternalTable.java @@ -15,12 +15,12 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.jdbc; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.JdbcTable; -import org.apache.doris.datasource.jdbc.JdbcExternalCatalog; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.statistics.AnalysisInfo; import org.apache.doris.statistics.BaseAnalysisTask; import org.apache.doris.statistics.JdbcAnalysisTask; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/jdbc/JdbcTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/sink/JdbcTableSink.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/jdbc/JdbcTableSink.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/sink/JdbcTableSink.java index 68a0c04a24..373cf06058 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/jdbc/JdbcTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/sink/JdbcTableSink.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.jdbc; +package org.apache.doris.datasource.jdbc.sink; import org.apache.doris.catalog.JdbcTable; import org.apache.doris.planner.DataPartition; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/jdbc/JdbcFunctionPushDownRule.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/source/JdbcFunctionPushDownRule.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/jdbc/JdbcFunctionPushDownRule.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/source/JdbcFunctionPushDownRule.java index 74e04256f4..13c0d474ee 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/jdbc/JdbcFunctionPushDownRule.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/source/JdbcFunctionPushDownRule.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.jdbc; +package org.apache.doris.datasource.jdbc.source; import org.apache.doris.analysis.Expr; import org.apache.doris.analysis.FunctionCallExpr; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/jdbc/JdbcScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/source/JdbcScanNode.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/jdbc/JdbcScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/source/JdbcScanNode.java index 6369f180d3..f7fccf6d71 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/jdbc/JdbcScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/source/JdbcScanNode.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.jdbc; +package org.apache.doris.datasource.jdbc.source; import org.apache.doris.analysis.Analyzer; import org.apache.doris.analysis.BinaryPredicate; @@ -35,12 +35,12 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.JdbcTable; import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.TableIf.TableType; -import org.apache.doris.catalog.external.JdbcExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.ExternalScanNode; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; import org.apache.doris.nereids.glue.translator.PlanTranslatorContext; import org.apache.doris.planner.PlanNodeId; -import org.apache.doris.planner.external.ExternalScanNode; import org.apache.doris.qe.ConnectContext; import org.apache.doris.statistics.StatisticalType; import org.apache.doris.statistics.StatsRecursiveDerive; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeCacheKey.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeCacheKey.java similarity index 97% rename from fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeCacheKey.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeCacheKey.java index 441c2e8447..6e3d860a08 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeCacheKey.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeCacheKey.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.datasource; +package org.apache.doris.datasource.maxcompute; import lombok.Data; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalCatalog.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeExternalCatalog.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalCatalog.java index b361d0c814..d3539756df 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalCatalog.java @@ -15,10 +15,14 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.datasource; +package org.apache.doris.datasource.maxcompute; import org.apache.doris.common.DdlException; +import org.apache.doris.datasource.CatalogProperty; +import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.InitCatalogLog; +import org.apache.doris.datasource.SessionContext; import org.apache.doris.datasource.credentials.CloudCredential; import org.apache.doris.datasource.property.constants.MCProperties; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/MaxComputeExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalDatabase.java similarity index 94% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/MaxComputeExternalDatabase.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalDatabase.java index df94d775c1..98bb28aecb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/MaxComputeExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalDatabase.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.maxcompute; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.InitDatabaseLog; -import org.apache.doris.datasource.MaxComputeExternalCatalog; /** * MaxCompute external database. diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/MaxComputeExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalTable.java similarity index 97% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/MaxComputeExternalTable.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalTable.java index 55d6235fc0..7cde59fd83 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/MaxComputeExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalTable.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.maxcompute; import org.apache.doris.catalog.ArrayType; import org.apache.doris.catalog.Column; @@ -25,10 +25,8 @@ import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.StructField; import org.apache.doris.catalog.StructType; import org.apache.doris.catalog.Type; -import org.apache.doris.datasource.MaxComputeCacheKey; -import org.apache.doris.datasource.MaxComputeExternalCatalog; -import org.apache.doris.datasource.MaxComputeMetadataCache; -import org.apache.doris.planner.external.TablePartitionValues; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.TablePartitionValues; import org.apache.doris.thrift.TMCTable; import org.apache.doris.thrift.TTableDescriptor; import org.apache.doris.thrift.TTableType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeMetadataCache.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeMetadataCache.java similarity index 97% rename from fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeMetadataCache.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeMetadataCache.java index 98b835813d..b26ad8364e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeMetadataCache.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeMetadataCache.java @@ -15,10 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.datasource; +package org.apache.doris.datasource.maxcompute; import org.apache.doris.common.Config; -import org.apache.doris.planner.external.TablePartitionValues; +import org.apache.doris.datasource.TablePartitionValues; import com.aliyun.odps.tunnel.TunnelException; import com.google.common.cache.Cache; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeMetadataCacheMgr.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeMetadataCacheMgr.java similarity index 97% rename from fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeMetadataCacheMgr.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeMetadataCacheMgr.java index 72449b6194..6ee75eae26 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/MaxComputeMetadataCacheMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeMetadataCacheMgr.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.datasource; +package org.apache.doris.datasource.maxcompute; import com.google.common.collect.Maps; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/MaxComputeScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeScanNode.java similarity index 95% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/MaxComputeScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeScanNode.java index 8fe7c8dff2..279031d7f9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/MaxComputeScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeScanNode.java @@ -15,16 +15,20 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource.maxcompute.source; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.PartitionItem; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.MaxComputeExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Pair; import org.apache.doris.common.UserException; -import org.apache.doris.datasource.MaxComputeExternalCatalog; +import org.apache.doris.datasource.FileQueryScanNode; +import org.apache.doris.datasource.FileSplit; +import org.apache.doris.datasource.TableFormatType; +import org.apache.doris.datasource.TablePartitionValues; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalCatalog; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalTable; import org.apache.doris.planner.ListPartitionPrunerV2; import org.apache.doris.planner.PlanNodeId; import org.apache.doris.spi.Split; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/MaxComputeSplit.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeSplit.java similarity index 93% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/MaxComputeSplit.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeSplit.java index a14e5fe22a..20b285c4cf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/MaxComputeSplit.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeSplit.java @@ -15,7 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource.maxcompute.source; + +import org.apache.doris.datasource.FileSplit; import java.util.Optional; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/odbc/OdbcTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/odbc/sink/OdbcTableSink.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/odbc/OdbcTableSink.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/odbc/sink/OdbcTableSink.java index 8778f06026..3215b5720a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/odbc/OdbcTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/odbc/sink/OdbcTableSink.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.odbc; +package org.apache.doris.datasource.odbc.sink; import org.apache.doris.catalog.JdbcTable; import org.apache.doris.catalog.OdbcTable; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/odbc/OdbcScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/odbc/source/OdbcScanNode.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/odbc/OdbcScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/odbc/source/OdbcScanNode.java index 891cd8240b..9b597dddb5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/odbc/OdbcScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/odbc/source/OdbcScanNode.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.odbc; +package org.apache.doris.datasource.odbc.source; import org.apache.doris.analysis.Analyzer; import org.apache.doris.analysis.Expr; @@ -31,10 +31,10 @@ import org.apache.doris.catalog.JdbcTable; import org.apache.doris.catalog.OdbcTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.ExternalScanNode; +import org.apache.doris.datasource.jdbc.source.JdbcScanNode; import org.apache.doris.nereids.glue.translator.PlanTranslatorContext; import org.apache.doris.planner.PlanNodeId; -import org.apache.doris.planner.external.ExternalScanNode; -import org.apache.doris.planner.external.jdbc.JdbcScanNode; import org.apache.doris.qe.ConnectContext; import org.apache.doris.statistics.StatisticalType; import org.apache.doris.statistics.StatsRecursiveDerive; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/PaimonExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalDatabase.java similarity index 82% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/PaimonExternalDatabase.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalDatabase.java index deac7141d6..b6d39da573 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/PaimonExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalDatabase.java @@ -15,20 +15,15 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.paimon; -import org.apache.doris.catalog.TableIf; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.InitDatabaseLog; -import org.apache.doris.datasource.paimon.PaimonExternalCatalog; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import java.util.Comparator; -import java.util.List; -import java.util.stream.Collectors; - public class PaimonExternalDatabase extends ExternalDatabase { private static final Logger LOG = LogManager.getLogger(PaimonExternalDatabase.class); @@ -42,12 +37,6 @@ public class PaimonExternalDatabase extends ExternalDatabase getTablesOnIdOrder() { - // Sort the name instead, because the id may change. - return getTables().stream().sorted(Comparator.comparing(TableIf::getName)).collect(Collectors.toList()); - } - @Override public void dropTable(String tableName) { if (LOG.isDebugEnabled()) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/PaimonExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/PaimonExternalTable.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java index b517265df6..f921fcd681 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/PaimonExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java @@ -15,12 +15,12 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.paimon; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.Type; -import org.apache.doris.datasource.paimon.PaimonExternalCatalog; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.statistics.AnalysisInfo; import org.apache.doris.statistics.BaseAnalysisTask; import org.apache.doris.statistics.ExternalAnalysisTask; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonPredicateConverter.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonPredicateConverter.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonPredicateConverter.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonPredicateConverter.java index ac750be274..9e65d97147 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonPredicateConverter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonPredicateConverter.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.paimon; +package org.apache.doris.datasource.paimon.source; import org.apache.doris.analysis.CastExpr; import org.apache.doris.analysis.CompoundPredicate; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonScanNode.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonScanNode.java index c33439949a..787168fdf7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonScanNode.java @@ -15,26 +15,25 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.paimon; +package org.apache.doris.datasource.paimon.source; import org.apache.doris.analysis.SlotId; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.PaimonExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.DdlException; import org.apache.doris.common.MetaNotFoundException; import org.apache.doris.common.UserException; import org.apache.doris.common.util.LocationPath; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.FileQueryScanNode; import org.apache.doris.datasource.paimon.PaimonExternalCatalog; +import org.apache.doris.datasource.paimon.PaimonExternalTable; import org.apache.doris.nereids.glue.translator.PlanTranslatorContext; import org.apache.doris.planner.PlanNodeId; -import org.apache.doris.planner.external.FileQueryScanNode; import org.apache.doris.qe.ConnectContext; import org.apache.doris.spi.Split; import org.apache.doris.statistics.StatisticalType; -import org.apache.doris.thrift.TFileAttributes; import org.apache.doris.thrift.TFileFormatType; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TFileType; @@ -229,11 +228,6 @@ public class PaimonScanNode extends FileQueryScanNode { return new ArrayList<>(); } - @Override - public TFileAttributes getFileAttributes() throws UserException { - return source.getFileAttributes(); - } - @Override public TableIf getTargetTable() { return source.getTargetTable(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonSource.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonSource.java similarity index 95% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonSource.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonSource.java index fa838350c8..a405aa92ea 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonSource.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonSource.java @@ -15,13 +15,13 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.paimon; +package org.apache.doris.datasource.paimon.source; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.PaimonExternalTable; import org.apache.doris.common.UserException; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.paimon.PaimonExternalTable; import org.apache.doris.datasource.property.constants.PaimonProperties; import org.apache.doris.planner.ColumnRange; import org.apache.doris.thrift.TFileAttributes; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonSplit.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonSplit.java similarity index 92% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonSplit.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonSplit.java index 13263fb584..932620d567 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonSplit.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonSplit.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.paimon; +package org.apache.doris.datasource.paimon.source; -import org.apache.doris.planner.external.FileSplit; -import org.apache.doris.planner.external.SplitCreator; -import org.apache.doris.planner.external.TableFormatType; +import org.apache.doris.datasource.FileSplit; +import org.apache.doris.datasource.SplitCreator; +import org.apache.doris.datasource.TableFormatType; import org.apache.hadoop.fs.Path; import org.apache.paimon.table.source.Split; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonValueConverter.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonValueConverter.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonValueConverter.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonValueConverter.java index 7c294d64c1..d490474489 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/paimon/PaimonValueConverter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonValueConverter.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external.paimon; +package org.apache.doris.datasource.paimon.source; import org.apache.doris.analysis.BoolLiteral; import org.apache.doris.analysis.DateLiteral; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/test/TestExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/test/TestExternalCatalog.java index fddc21a294..2d3c8c430e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/test/TestExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/test/TestExternalCatalog.java @@ -18,7 +18,6 @@ package org.apache.doris.datasource.test; import org.apache.doris.catalog.Column; -import org.apache.doris.catalog.external.TestExternalDatabase; import org.apache.doris.datasource.CatalogProperty; import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.InitCatalogLog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/TestExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/test/TestExternalDatabase.java similarity index 92% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/TestExternalDatabase.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/test/TestExternalDatabase.java index 812965674c..2a797a726e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/TestExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/test/TestExternalDatabase.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.test; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.InitDatabaseLog; -import org.apache.doris.datasource.test.TestExternalCatalog; public class TestExternalDatabase extends ExternalDatabase { diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/TestExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/test/TestExternalTable.java similarity index 95% rename from fe/fe-core/src/main/java/org/apache/doris/catalog/external/TestExternalTable.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/test/TestExternalTable.java index 212f051174..99f0238c17 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/TestExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/test/TestExternalTable.java @@ -15,10 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.catalog.external; +package org.apache.doris.datasource.test; import org.apache.doris.catalog.Column; -import org.apache.doris.datasource.test.TestExternalCatalog; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.thrift.TTableDescriptor; import org.apache.doris.thrift.TTableType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/MetadataScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/tvf/source/MetadataScanNode.java similarity index 97% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/MetadataScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/tvf/source/MetadataScanNode.java index abfd5ac063..701850691f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/MetadataScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/tvf/source/MetadataScanNode.java @@ -15,11 +15,12 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource.tvf.source; import org.apache.doris.analysis.Analyzer; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.ExternalScanNode; import org.apache.doris.planner.PlanNodeId; import org.apache.doris.qe.ConnectContext; import org.apache.doris.statistics.StatisticalType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/TVFScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/tvf/source/TVFScanNode.java similarity index 96% rename from fe/fe-core/src/main/java/org/apache/doris/planner/external/TVFScanNode.java rename to fe/fe-core/src/main/java/org/apache/doris/datasource/tvf/source/TVFScanNode.java index 6f43608fce..83aa49f5ab 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/TVFScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/tvf/source/TVFScanNode.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.planner.external; +package org.apache.doris.datasource.tvf.source; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.Env; @@ -25,6 +25,8 @@ import org.apache.doris.common.DdlException; import org.apache.doris.common.MetaNotFoundException; import org.apache.doris.common.UserException; import org.apache.doris.common.util.Util; +import org.apache.doris.datasource.FileQueryScanNode; +import org.apache.doris.datasource.FileSplit; import org.apache.doris.planner.PlanNodeId; import org.apache.doris.spi.Split; import org.apache.doris.statistics.StatisticalType; @@ -82,7 +84,7 @@ public class TVFScanNode extends FileQueryScanNode { } @Override - public TFileAttributes getFileAttributes() throws UserException { + public TFileAttributes getFileAttributes() { return tableValuedFunction.getFileAttributes(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/job/extensions/mtmv/MTMVTask.java b/fe/fe-core/src/main/java/org/apache/doris/job/extensions/mtmv/MTMVTask.java index 172f6d0bff..a859a8ca1b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/job/extensions/mtmv/MTMVTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/job/extensions/mtmv/MTMVTask.java @@ -22,13 +22,13 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.MTMV; import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.DdlException; import org.apache.doris.common.FeConstants; import org.apache.doris.common.UserException; import org.apache.doris.common.util.DebugUtil; import org.apache.doris.common.util.TimeUtils; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.job.exception.JobException; import org.apache.doris.job.task.AbstractTask; import org.apache.doris.mtmv.BaseTableInfo; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java index 274ab4e712..e1571778a1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java @@ -45,14 +45,22 @@ import org.apache.doris.catalog.OdbcTable; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.Type; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalTable; -import org.apache.doris.catalog.external.IcebergExternalTable; -import org.apache.doris.catalog.external.JdbcExternalTable; -import org.apache.doris.catalog.external.MaxComputeExternalTable; -import org.apache.doris.catalog.external.PaimonExternalTable; import org.apache.doris.common.UserException; import org.apache.doris.common.util.Util; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.es.source.EsScanNode; +import org.apache.doris.datasource.hive.HMSExternalTable; +import org.apache.doris.datasource.hive.source.HiveScanNode; +import org.apache.doris.datasource.hudi.source.HudiScanNode; +import org.apache.doris.datasource.iceberg.IcebergExternalTable; +import org.apache.doris.datasource.iceberg.source.IcebergScanNode; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; +import org.apache.doris.datasource.jdbc.source.JdbcScanNode; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalTable; +import org.apache.doris.datasource.maxcompute.source.MaxComputeScanNode; +import org.apache.doris.datasource.odbc.source.OdbcScanNode; +import org.apache.doris.datasource.paimon.PaimonExternalTable; +import org.apache.doris.datasource.paimon.source.PaimonScanNode; import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.properties.DistributionSpec; import org.apache.doris.nereids.properties.DistributionSpecAny; @@ -148,7 +156,6 @@ import org.apache.doris.planner.CTEScanNode; import org.apache.doris.planner.DataPartition; import org.apache.doris.planner.DataStreamSink; import org.apache.doris.planner.EmptySetNode; -import org.apache.doris.planner.EsScanNode; import org.apache.doris.planner.ExceptNode; import org.apache.doris.planner.ExchangeNode; import org.apache.doris.planner.HashJoinNode; @@ -173,13 +180,6 @@ import org.apache.doris.planner.SetOperationNode; import org.apache.doris.planner.SortNode; import org.apache.doris.planner.TableFunctionNode; import org.apache.doris.planner.UnionNode; -import org.apache.doris.planner.external.HiveScanNode; -import org.apache.doris.planner.external.MaxComputeScanNode; -import org.apache.doris.planner.external.hudi.HudiScanNode; -import org.apache.doris.planner.external.iceberg.IcebergScanNode; -import org.apache.doris.planner.external.jdbc.JdbcScanNode; -import org.apache.doris.planner.external.odbc.OdbcScanNode; -import org.apache.doris.planner.external.paimon.PaimonScanNode; import org.apache.doris.statistics.StatisticConstants; import org.apache.doris.tablefunction.TableValuedFunctionIf; import org.apache.doris.thrift.TFetchOption; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java index 04bac9915b..9d9591e34b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java @@ -23,12 +23,12 @@ import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.Partition; import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.View; -import org.apache.doris.catalog.external.EsExternalTable; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.Config; import org.apache.doris.common.Pair; import org.apache.doris.common.util.Util; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.es.EsExternalTable; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.nereids.CTEContext; import org.apache.doris.nereids.CascadesContext; import org.apache.doris.nereids.analyzer.Unbound; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/NormalizeAggregate.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/NormalizeAggregate.java index f7604e3005..8071cb4cb8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/NormalizeAggregate.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/NormalizeAggregate.java @@ -21,7 +21,6 @@ import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.rules.Rule; import org.apache.doris.nereids.rules.RuleType; import org.apache.doris.nereids.rules.rewrite.NormalizeToSlot; -import org.apache.doris.nereids.rules.rewrite.NormalizeToSlot.NormalizeToSlotContext; import org.apache.doris.nereids.rules.rewrite.RewriteRuleFactory; import org.apache.doris.nereids.trees.expressions.Alias; import org.apache.doris.nereids.trees.expressions.Expression; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PruneFileScanPartition.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PruneFileScanPartition.java index fa7cecdd5a..9b2f499901 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PruneFileScanPartition.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PruneFileScanPartition.java @@ -19,10 +19,10 @@ package org.apache.doris.nereids.rules.rewrite; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.PartitionItem; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalTable; -import org.apache.doris.catalog.external.HMSExternalTable.DLAType; -import org.apache.doris.datasource.HMSExternalCatalog; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalTable; +import org.apache.doris.datasource.hive.HMSExternalTable.DLAType; import org.apache.doris.datasource.hive.HiveMetaStoreCache; import org.apache.doris.nereids.CascadesContext; import org.apache.doris.nereids.rules.Rule; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/SelectMaterializedIndexWithAggregate.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/SelectMaterializedIndexWithAggregate.java index 50d48ab805..cce0552b69 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/SelectMaterializedIndexWithAggregate.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/SelectMaterializedIndexWithAggregate.java @@ -30,7 +30,6 @@ import org.apache.doris.nereids.parser.NereidsParser; import org.apache.doris.nereids.rules.Rule; import org.apache.doris.nereids.rules.RuleType; import org.apache.doris.nereids.rules.rewrite.RewriteRuleFactory; -import org.apache.doris.nereids.rules.rewrite.mv.AbstractSelectMaterializedIndexRule.SlotContext; import org.apache.doris.nereids.trees.expressions.Alias; import org.apache.doris.nereids.trees.expressions.CaseWhen; import org.apache.doris.nereids.trees.expressions.Cast; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java index 35c722083d..f9b0c3d965 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java @@ -17,7 +17,7 @@ package org.apache.doris.nereids.trees.plans.logical; -import org.apache.doris.catalog.external.ExternalTable; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.nereids.memo.GroupExpression; import org.apache.doris.nereids.properties.LogicalProperties; import org.apache.doris.nereids.trees.expressions.Expression; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java index df5b574532..03ec87aad0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalFileScan.java @@ -18,7 +18,7 @@ package org.apache.doris.nereids.trees.plans.logical; import org.apache.doris.catalog.PartitionItem; -import org.apache.doris.catalog.external.ExternalTable; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.nereids.memo.GroupExpression; import org.apache.doris.nereids.properties.LogicalProperties; import org.apache.doris.nereids.trees.TableSample; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java index c86bd0fb7d..076b6027d2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcScan.java @@ -19,7 +19,7 @@ package org.apache.doris.nereids.trees.plans.logical; import org.apache.doris.catalog.JdbcTable; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.ExternalTable; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.nereids.memo.GroupExpression; import org.apache.doris.nereids.properties.LogicalProperties; import org.apache.doris.nereids.trees.expressions.Expression; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java index eaddff7a26..2f3a399ee2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java @@ -17,7 +17,7 @@ package org.apache.doris.nereids.trees.plans.physical; -import org.apache.doris.catalog.external.ExternalTable; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.nereids.memo.GroupExpression; import org.apache.doris.nereids.properties.DistributionSpec; import org.apache.doris.nereids.properties.LogicalProperties; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFileScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFileScan.java index 3e50e058fd..843a03f69f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFileScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalFileScan.java @@ -17,7 +17,7 @@ package org.apache.doris.nereids.trees.plans.physical; -import org.apache.doris.catalog.external.ExternalTable; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.nereids.memo.GroupExpression; import org.apache.doris.nereids.properties.DistributionSpec; import org.apache.doris.nereids.properties.LogicalProperties; diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/gson/GsonUtils.java b/fe/fe-core/src/main/java/org/apache/doris/persist/gson/GsonUtils.java index 02330e07c9..6d71cd5882 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/persist/gson/GsonUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/persist/gson/GsonUtils.java @@ -48,30 +48,21 @@ import org.apache.doris.catalog.constraint.Constraint; import org.apache.doris.catalog.constraint.ForeignKeyConstraint; import org.apache.doris.catalog.constraint.PrimaryKeyConstraint; import org.apache.doris.catalog.constraint.UniqueConstraint; -import org.apache.doris.catalog.external.EsExternalDatabase; -import org.apache.doris.catalog.external.EsExternalTable; -import org.apache.doris.catalog.external.ExternalDatabase; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalDatabase; -import org.apache.doris.catalog.external.HMSExternalTable; -import org.apache.doris.catalog.external.IcebergExternalDatabase; -import org.apache.doris.catalog.external.IcebergExternalTable; -import org.apache.doris.catalog.external.JdbcExternalDatabase; -import org.apache.doris.catalog.external.JdbcExternalTable; -import org.apache.doris.catalog.external.MaxComputeExternalDatabase; -import org.apache.doris.catalog.external.MaxComputeExternalTable; -import org.apache.doris.catalog.external.PaimonExternalDatabase; -import org.apache.doris.catalog.external.PaimonExternalTable; -import org.apache.doris.catalog.external.TestExternalDatabase; -import org.apache.doris.catalog.external.TestExternalTable; import org.apache.doris.common.util.RangeUtils; import org.apache.doris.datasource.CatalogIf; -import org.apache.doris.datasource.EsExternalCatalog; -import org.apache.doris.datasource.HMSExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.InternalCatalog; -import org.apache.doris.datasource.MaxComputeExternalCatalog; +import org.apache.doris.datasource.es.EsExternalCatalog; +import org.apache.doris.datasource.es.EsExternalDatabase; +import org.apache.doris.datasource.es.EsExternalTable; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalDatabase; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.iceberg.IcebergDLFExternalCatalog; import org.apache.doris.datasource.iceberg.IcebergExternalCatalog; +import org.apache.doris.datasource.iceberg.IcebergExternalDatabase; +import org.apache.doris.datasource.iceberg.IcebergExternalTable; import org.apache.doris.datasource.iceberg.IcebergGlueExternalCatalog; import org.apache.doris.datasource.iceberg.IcebergHMSExternalCatalog; import org.apache.doris.datasource.iceberg.IcebergHadoopExternalCatalog; @@ -79,10 +70,19 @@ import org.apache.doris.datasource.iceberg.IcebergRestExternalCatalog; import org.apache.doris.datasource.infoschema.ExternalInfoSchemaDatabase; import org.apache.doris.datasource.infoschema.ExternalInfoSchemaTable; import org.apache.doris.datasource.jdbc.JdbcExternalCatalog; +import org.apache.doris.datasource.jdbc.JdbcExternalDatabase; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalCatalog; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalDatabase; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalTable; import org.apache.doris.datasource.paimon.PaimonExternalCatalog; +import org.apache.doris.datasource.paimon.PaimonExternalDatabase; +import org.apache.doris.datasource.paimon.PaimonExternalTable; import org.apache.doris.datasource.paimon.PaimonFileExternalCatalog; import org.apache.doris.datasource.paimon.PaimonHMSExternalCatalog; import org.apache.doris.datasource.test.TestExternalCatalog; +import org.apache.doris.datasource.test.TestExternalDatabase; +import org.apache.doris.datasource.test.TestExternalTable; import org.apache.doris.job.base.AbstractJob; import org.apache.doris.job.extensions.insert.InsertJob; import org.apache.doris.job.extensions.mtmv.MTMVJob; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/DataGenScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/DataGenScanNode.java index 457c643182..14a50160d6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/DataGenScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/DataGenScanNode.java @@ -21,7 +21,7 @@ import org.apache.doris.analysis.Analyzer; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.common.NereidsException; import org.apache.doris.common.UserException; -import org.apache.doris.planner.external.ExternalScanNode; +import org.apache.doris.datasource.ExternalScanNode; import org.apache.doris.statistics.StatisticalType; import org.apache.doris.tablefunction.DataGenTableValuedFunction; import org.apache.doris.tablefunction.TableValuedFunctionTask; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/DataSink.java b/fe/fe-core/src/main/java/org/apache/doris/planner/DataSink.java index 7872560a1d..b813093f78 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/DataSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/DataSink.java @@ -24,7 +24,7 @@ import org.apache.doris.catalog.MysqlTable; import org.apache.doris.catalog.OdbcTable; import org.apache.doris.catalog.Table; import org.apache.doris.common.AnalysisException; -import org.apache.doris.planner.external.odbc.OdbcTableSink; +import org.apache.doris.datasource.odbc.sink.OdbcTableSink; import org.apache.doris.thrift.TDataSink; import org.apache.doris.thrift.TExplainLevel; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/FileLoadScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/FileLoadScanNode.java index d29f969a9a..ca0324a51d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/FileLoadScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/FileLoadScanNode.java @@ -37,11 +37,11 @@ import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.Table; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.FederationBackendPolicy; +import org.apache.doris.datasource.FileGroupInfo; +import org.apache.doris.datasource.FileScanNode; +import org.apache.doris.datasource.LoadScanProvider; import org.apache.doris.load.BrokerFileGroup; -import org.apache.doris.planner.external.FederationBackendPolicy; -import org.apache.doris.planner.external.FileGroupInfo; -import org.apache.doris.planner.external.FileScanNode; -import org.apache.doris.planner.external.LoadScanProvider; import org.apache.doris.rewrite.ExprRewriter; import org.apache.doris.statistics.StatisticalType; import org.apache.doris.system.BeSelectionPolicy; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitScanNode.java index a8db418eaf..0751187e4f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitScanNode.java @@ -20,7 +20,7 @@ package org.apache.doris.planner; import org.apache.doris.analysis.Analyzer; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.common.UserException; -import org.apache.doris.planner.external.FileScanNode; +import org.apache.doris.datasource.ExternalScanNode; import org.apache.doris.statistics.StatisticalType; import org.apache.doris.thrift.TExplainLevel; import org.apache.doris.thrift.TGroupCommitScanNode; @@ -32,7 +32,7 @@ import com.google.common.collect.Lists; import java.util.List; -public class GroupCommitScanNode extends FileScanNode { +public class GroupCommitScanNode extends ExternalScanNode { long tableId; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/MysqlScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/MysqlScanNode.java index 98d09d4e6e..703566bbc0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/MysqlScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/MysqlScanNode.java @@ -27,7 +27,7 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.MysqlTable; import org.apache.doris.catalog.TableIf.TableType; import org.apache.doris.common.UserException; -import org.apache.doris.planner.external.ExternalScanNode; +import org.apache.doris.datasource.ExternalScanNode; import org.apache.doris.statistics.StatisticalType; import org.apache.doris.statistics.StatsRecursiveDerive; import org.apache.doris.thrift.TExplainLevel; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/RuntimeFilterGenerator.java b/fe/fe-core/src/main/java/org/apache/doris/planner/RuntimeFilterGenerator.java index fb1b4da92b..6f63568317 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/RuntimeFilterGenerator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/RuntimeFilterGenerator.java @@ -28,7 +28,7 @@ import org.apache.doris.analysis.TupleId; import org.apache.doris.catalog.Type; import org.apache.doris.common.IdGenerator; import org.apache.doris.common.util.BitUtil; -import org.apache.doris.planner.external.FileQueryScanNode; +import org.apache.doris.datasource.FileQueryScanNode; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.SessionVariable; import org.apache.doris.thrift.TRuntimeFilterMode; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/ScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/ScanNode.java index 199538241b..858abeb489 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/ScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/ScanNode.java @@ -41,9 +41,9 @@ import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.NotImplementedException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.FederationBackendPolicy; +import org.apache.doris.datasource.FileScanNode; import org.apache.doris.nereids.glue.translator.PlanTranslatorContext; -import org.apache.doris.planner.external.FederationBackendPolicy; -import org.apache.doris.planner.external.FileScanNode; import org.apache.doris.qe.ConnectContext; import org.apache.doris.spi.Split; import org.apache.doris.statistics.StatisticalType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/SchemaScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/SchemaScanNode.java index fc50c7843f..5a52c79e95 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/SchemaScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/SchemaScanNode.java @@ -23,7 +23,7 @@ import org.apache.doris.catalog.SchemaTable; import org.apache.doris.common.Config; import org.apache.doris.common.UserException; import org.apache.doris.common.util.Util; -import org.apache.doris.planner.external.FederationBackendPolicy; +import org.apache.doris.datasource.FederationBackendPolicy; import org.apache.doris.qe.ConnectContext; import org.apache.doris.service.FrontendOptions; import org.apache.doris.statistics.StatisticalType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java b/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java index c42d91d690..96a8c2f845 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java @@ -57,20 +57,21 @@ import org.apache.doris.catalog.OdbcTable; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.Table; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.FeConstants; import org.apache.doris.common.Pair; import org.apache.doris.common.Reference; import org.apache.doris.common.UserException; -import org.apache.doris.planner.external.FileQueryScanNode; -import org.apache.doris.planner.external.HiveScanNode; -import org.apache.doris.planner.external.MaxComputeScanNode; -import org.apache.doris.planner.external.hudi.HudiScanNode; -import org.apache.doris.planner.external.iceberg.IcebergScanNode; -import org.apache.doris.planner.external.jdbc.JdbcScanNode; -import org.apache.doris.planner.external.odbc.OdbcScanNode; -import org.apache.doris.planner.external.paimon.PaimonScanNode; +import org.apache.doris.datasource.FileQueryScanNode; +import org.apache.doris.datasource.es.source.EsScanNode; +import org.apache.doris.datasource.hive.HMSExternalTable; +import org.apache.doris.datasource.hive.source.HiveScanNode; +import org.apache.doris.datasource.hudi.source.HudiScanNode; +import org.apache.doris.datasource.iceberg.source.IcebergScanNode; +import org.apache.doris.datasource.jdbc.source.JdbcScanNode; +import org.apache.doris.datasource.maxcompute.source.MaxComputeScanNode; +import org.apache.doris.datasource.odbc.source.OdbcScanNode; +import org.apache.doris.datasource.paimon.source.PaimonScanNode; import org.apache.doris.qe.ConnectContext; import org.apache.doris.rewrite.mvrewrite.MVSelectFailedException; import org.apache.doris.statistics.StatisticalType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/TestExternalTableScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/TestExternalTableScanNode.java index 2ce78391e7..3136444725 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/TestExternalTableScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/TestExternalTableScanNode.java @@ -20,7 +20,7 @@ package org.apache.doris.planner; import org.apache.doris.analysis.Analyzer; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.common.UserException; -import org.apache.doris.planner.external.ExternalScanNode; +import org.apache.doris.datasource.ExternalScanNode; import org.apache.doris.statistics.StatisticalType; import org.apache.doris.statistics.StatsRecursiveDerive; import org.apache.doris.thrift.TExplainLevel; diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java index b4d6b9220c..333b73c217 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java @@ -32,6 +32,8 @@ import org.apache.doris.common.util.DebugUtil; import org.apache.doris.common.util.ListUtil; import org.apache.doris.common.util.RuntimeProfile; import org.apache.doris.common.util.TimeUtils; +import org.apache.doris.datasource.ExternalScanNode; +import org.apache.doris.datasource.FileQueryScanNode; import org.apache.doris.load.loadv2.LoadJob; import org.apache.doris.metric.MetricRepo; import org.apache.doris.nereids.NereidsPlanner; @@ -58,8 +60,6 @@ import org.apache.doris.planner.RuntimeFilterId; import org.apache.doris.planner.ScanNode; import org.apache.doris.planner.SetOperationNode; import org.apache.doris.planner.UnionNode; -import org.apache.doris.planner.external.ExternalScanNode; -import org.apache.doris.planner.external.FileQueryScanNode; import org.apache.doris.proto.InternalService; import org.apache.doris.proto.InternalService.PExecPlanFragmentResult; import org.apache.doris.proto.InternalService.PExecPlanFragmentStartRequest; diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java index aa1f8d3acc..c030dfbc66 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java @@ -121,7 +121,6 @@ import org.apache.doris.catalog.EncryptKey; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.Function; import org.apache.doris.catalog.FunctionUtil; -import org.apache.doris.catalog.HiveMetaStoreClientHelper; import org.apache.doris.catalog.Index; import org.apache.doris.catalog.MaterializedIndex; import org.apache.doris.catalog.MaterializedIndex.IndexExtState; @@ -140,7 +139,6 @@ import org.apache.doris.catalog.Tablet; import org.apache.doris.catalog.TabletInvertedIndex; import org.apache.doris.catalog.TabletMeta; import org.apache.doris.catalog.View; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.clone.DynamicPartitionScheduler; import org.apache.doris.cluster.ClusterNamespace; import org.apache.doris.common.AnalysisException; @@ -182,8 +180,10 @@ import org.apache.doris.common.util.RuntimeProfile; import org.apache.doris.common.util.TimeUtils; import org.apache.doris.common.util.Util; import org.apache.doris.datasource.CatalogIf; -import org.apache.doris.datasource.HMSExternalCatalog; -import org.apache.doris.datasource.MaxComputeExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalTable; +import org.apache.doris.datasource.hive.HiveMetaStoreClientHelper; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalCatalog; import org.apache.doris.job.manager.JobManager; import org.apache.doris.load.DeleteHandler; import org.apache.doris.load.ExportJobState; diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/cache/CacheAnalyzer.java b/fe/fe-core/src/main/java/org/apache/doris/qe/cache/CacheAnalyzer.java index 30c90d0ae3..53376bf22a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/cache/CacheAnalyzer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/cache/CacheAnalyzer.java @@ -40,12 +40,12 @@ import org.apache.doris.common.Config; import org.apache.doris.common.Status; import org.apache.doris.common.UserException; import org.apache.doris.common.util.DebugUtil; +import org.apache.doris.datasource.hive.source.HiveScanNode; import org.apache.doris.metric.MetricRepo; import org.apache.doris.nereids.glue.LogicalPlanAdapter; import org.apache.doris.planner.OlapScanNode; import org.apache.doris.planner.Planner; import org.apache.doris.planner.ScanNode; -import org.apache.doris.planner.external.HiveScanNode; import org.apache.doris.proto.InternalService; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.RowBatch; diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java index 9f33035a24..bfce1a8f7a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java @@ -47,7 +47,6 @@ import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.TableIf.TableType; import org.apache.doris.catalog.Tablet; import org.apache.doris.catalog.TabletMeta; -import org.apache.doris.catalog.external.ExternalDatabase; import org.apache.doris.cluster.ClusterNamespace; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.AuthenticationException; @@ -71,6 +70,7 @@ import org.apache.doris.common.util.Util; import org.apache.doris.cooldown.CooldownDelete; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.InternalCatalog; import org.apache.doris.load.routineload.ErrorReason; import org.apache.doris.load.routineload.RoutineLoadJob; diff --git a/fe/fe-core/src/main/java/org/apache/doris/spi/Split.java b/fe/fe-core/src/main/java/org/apache/doris/spi/Split.java index f6e6dc0e36..e86b287ac9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/spi/Split.java +++ b/fe/fe-core/src/main/java/org/apache/doris/spi/Split.java @@ -17,7 +17,7 @@ package org.apache.doris.spi; -import org.apache.doris.planner.external.SplitWeight; +import org.apache.doris.datasource.SplitWeight; import java.util.List; diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java index a005052cd4..cd31acaa0b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java @@ -33,8 +33,6 @@ import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.View; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Config; import org.apache.doris.common.DdlException; @@ -46,6 +44,8 @@ import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; import org.apache.doris.common.util.Util; import org.apache.doris.datasource.CatalogIf; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.persist.AnalyzeDeletionLog; import org.apache.doris.persist.gson.GsonUtils; diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/ExternalAnalysisTask.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/ExternalAnalysisTask.java index 15a9b90867..6dca6ee5ad 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/ExternalAnalysisTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/ExternalAnalysisTask.java @@ -19,9 +19,9 @@ package org.apache.doris.statistics; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; -import org.apache.doris.catalog.external.ExternalTable; import org.apache.doris.common.FeConstants; import org.apache.doris.common.Pair; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.statistics.util.StatisticsUtil; import org.apache.commons.text.StringSubstitutor; diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/HMSAnalysisTask.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/HMSAnalysisTask.java index 2ab671dd7c..549ab069ac 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/HMSAnalysisTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/HMSAnalysisTask.java @@ -18,9 +18,9 @@ package org.apache.doris.statistics; import org.apache.doris.catalog.Env; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.hive.HiveMetaStoreCache; import org.apache.doris.datasource.hive.HiveUtil; import org.apache.doris.statistics.util.StatisticsUtil; diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/JdbcAnalysisTask.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/JdbcAnalysisTask.java index 38ee648cad..a318bd4594 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/JdbcAnalysisTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/JdbcAnalysisTask.java @@ -18,8 +18,8 @@ package org.apache.doris.statistics; import org.apache.doris.catalog.Env; -import org.apache.doris.catalog.external.JdbcExternalTable; import org.apache.doris.common.FeConstants; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; import org.apache.doris.statistics.util.StatisticsUtil; import org.apache.commons.text.StringSubstitutor; diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsAutoCollector.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsAutoCollector.java index d69ea0cf43..dbb7046467 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsAutoCollector.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsAutoCollector.java @@ -23,11 +23,11 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.Partition; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.Config; import org.apache.doris.common.DdlException; import org.apache.doris.common.util.TimeUtils; import org.apache.doris.datasource.CatalogIf; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.statistics.AnalysisInfo.AnalysisMethod; import org.apache.doris.statistics.AnalysisInfo.JobType; import org.apache.doris.statistics.AnalysisInfo.ScheduleType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java index 21b344531f..0ff1488f46 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java @@ -48,16 +48,16 @@ import org.apache.doris.catalog.StructType; import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.Type; import org.apache.doris.catalog.VariantType; -import org.apache.doris.catalog.external.ExternalTable; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Config; import org.apache.doris.common.FeConstants; import org.apache.doris.common.Pair; import org.apache.doris.common.UserException; import org.apache.doris.datasource.CatalogIf; -import org.apache.doris.datasource.HMSExternalCatalog; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.InternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.hive.HiveMetaStoreCache; import org.apache.doris.datasource.hive.HivePartition; import org.apache.doris.nereids.trees.expressions.literal.DateTimeLiteral; diff --git a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/ExternalFileTableValuedFunction.java b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/ExternalFileTableValuedFunction.java index cfa444ba4b..2a6e15dba4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/ExternalFileTableValuedFunction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/ExternalFileTableValuedFunction.java @@ -39,9 +39,9 @@ import org.apache.doris.common.util.FileFormatConstants; import org.apache.doris.common.util.FileFormatUtils; import org.apache.doris.common.util.NetUtils; import org.apache.doris.common.util.Util; +import org.apache.doris.datasource.tvf.source.TVFScanNode; import org.apache.doris.planner.PlanNodeId; import org.apache.doris.planner.ScanNode; -import org.apache.doris.planner.external.TVFScanNode; import org.apache.doris.proto.InternalService; import org.apache.doris.proto.InternalService.PFetchTableSchemaRequest; import org.apache.doris.proto.Types.PScalarType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java index ed7611c4f9..06688b3f46 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java @@ -30,12 +30,12 @@ import org.apache.doris.common.util.NetUtils; import org.apache.doris.common.util.TimeUtils; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.InternalCatalog; +import org.apache.doris.datasource.iceberg.IcebergMetadataCache; import org.apache.doris.job.common.JobType; import org.apache.doris.job.extensions.mtmv.MTMVJob; import org.apache.doris.job.task.AbstractTask; import org.apache.doris.mtmv.MTMVPartitionUtil; import org.apache.doris.mysql.privilege.PrivPredicate; -import org.apache.doris.planner.external.iceberg.IcebergMetadataCache; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.QeProcessorImpl; import org.apache.doris.qe.QeProcessorImpl.QueryInfo; diff --git a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataTableValuedFunction.java b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataTableValuedFunction.java index b56aabc504..e5e478d039 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataTableValuedFunction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataTableValuedFunction.java @@ -19,9 +19,9 @@ package org.apache.doris.tablefunction; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.common.AnalysisException; +import org.apache.doris.datasource.tvf.source.MetadataScanNode; import org.apache.doris.planner.PlanNodeId; import org.apache.doris.planner.ScanNode; -import org.apache.doris.planner.external.MetadataScanNode; import org.apache.doris.thrift.TMetaScanRange; import org.apache.doris.thrift.TMetadataTableRequestParams; import org.apache.doris.thrift.TMetadataType; diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowPartitionsStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowPartitionsStmtTest.java index 0a25b2dde3..1fbfa3b425 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowPartitionsStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowPartitionsStmtTest.java @@ -20,14 +20,14 @@ package org.apache.doris.analysis; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.DatabaseIf; import org.apache.doris.catalog.PrimitiveType; -import org.apache.doris.catalog.external.HMSExternalDatabase; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.CatalogMgr; -import org.apache.doris.datasource.HMSExternalCatalog; import org.apache.doris.datasource.InternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalDatabase; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.iceberg.IcebergExternalCatalog; import org.apache.doris.mysql.privilege.AccessControllerManager; import org.apache.doris.mysql.privilege.PrivPredicate; diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshCatalogTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshCatalogTest.java index 1a663d7a26..a1a935f5f0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshCatalogTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshCatalogTest.java @@ -20,11 +20,11 @@ package org.apache.doris.catalog; import org.apache.doris.analysis.CreateCatalogStmt; import org.apache.doris.analysis.DropCatalogStmt; import org.apache.doris.analysis.RefreshCatalogStmt; -import org.apache.doris.catalog.external.TestExternalTable; import org.apache.doris.common.FeConstants; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.test.TestExternalCatalog; +import org.apache.doris.datasource.test.TestExternalTable; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.DdlExecutor; import org.apache.doris.utframe.TestWithFeService; diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshDbTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshDbTest.java index afef4c35b0..1358e03200 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshDbTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshDbTest.java @@ -23,14 +23,14 @@ import org.apache.doris.analysis.DropCatalogStmt; import org.apache.doris.analysis.GrantStmt; import org.apache.doris.analysis.RefreshDbStmt; import org.apache.doris.analysis.UserIdentity; -import org.apache.doris.catalog.external.ExternalDatabase; -import org.apache.doris.catalog.external.TestExternalDatabase; -import org.apache.doris.catalog.external.TestExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.ExceptionChecker; import org.apache.doris.common.FeConstants; import org.apache.doris.datasource.CatalogIf; +import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.test.TestExternalCatalog; +import org.apache.doris.datasource.test.TestExternalDatabase; +import org.apache.doris.datasource.test.TestExternalTable; import org.apache.doris.mysql.privilege.Auth; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.DdlExecutor; diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshTableTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshTableTest.java index c6389f2f76..c979926335 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshTableTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshTableTest.java @@ -24,7 +24,6 @@ import org.apache.doris.analysis.GrantStmt; import org.apache.doris.analysis.RefreshTableStmt; import org.apache.doris.analysis.TableName; import org.apache.doris.analysis.UserIdentity; -import org.apache.doris.catalog.external.TestExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.ExceptionChecker; import org.apache.doris.common.FeConstants; @@ -32,6 +31,7 @@ import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.infoschema.ExternalInfoSchemaDatabase; import org.apache.doris.datasource.infoschema.ExternalInfoSchemaTable; import org.apache.doris.datasource.test.TestExternalCatalog; +import org.apache.doris.datasource.test.TestExternalTable; import org.apache.doris.mysql.privilege.Auth; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.DdlExecutor; diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/constraint/ConstraintPersistTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/constraint/ConstraintPersistTest.java index 64f3db583a..782073d4ac 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/catalog/constraint/ConstraintPersistTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/constraint/ConstraintPersistTest.java @@ -23,11 +23,11 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.Table; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.EsExternalDatabase; -import org.apache.doris.catalog.external.EsExternalTable; -import org.apache.doris.catalog.external.ExternalTable; import org.apache.doris.common.Config; -import org.apache.doris.datasource.EsExternalCatalog; +import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.datasource.es.EsExternalCatalog; +import org.apache.doris.datasource.es.EsExternalDatabase; +import org.apache.doris.datasource.es.EsExternalTable; import org.apache.doris.journal.JournalEntity; import org.apache.doris.nereids.util.PlanPatternMatchSupported; import org.apache.doris.nereids.util.RelationUtil; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogMgrTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogMgrTest.java index a105ee9920..2184e2ab37 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogMgrTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogMgrTest.java @@ -38,14 +38,16 @@ import org.apache.doris.catalog.PartitionKey; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.ResourceMgr; import org.apache.doris.catalog.Type; -import org.apache.doris.catalog.external.EsExternalDatabase; -import org.apache.doris.catalog.external.EsExternalTable; -import org.apache.doris.catalog.external.HMSExternalDatabase; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.DdlException; import org.apache.doris.common.ExceptionChecker; import org.apache.doris.common.FeConstants; +import org.apache.doris.datasource.es.EsExternalCatalog; +import org.apache.doris.datasource.es.EsExternalDatabase; +import org.apache.doris.datasource.es.EsExternalTable; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalDatabase; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.hive.HiveMetaStoreCache; import org.apache.doris.datasource.hive.HiveMetaStoreCache.FileCacheKey; import org.apache.doris.datasource.hive.HiveMetaStoreCache.HivePartitionValues; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalCatalogTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalCatalogTest.java index 34f5352597..f527da2725 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalCatalogTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalCatalogTest.java @@ -17,6 +17,7 @@ package org.apache.doris.datasource; +import org.apache.doris.datasource.hive.HMSExternalCatalog; import org.apache.doris.utframe.TestWithFeService; import com.google.common.collect.Maps; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/RefreshCatalogTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/RefreshCatalogTest.java index 999fda60b4..f5244005c1 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/RefreshCatalogTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/RefreshCatalogTest.java @@ -23,10 +23,10 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.InfoSchemaDb; import org.apache.doris.catalog.PrimitiveType; -import org.apache.doris.catalog.external.TestExternalDatabase; import org.apache.doris.common.FeConstants; import org.apache.doris.datasource.infoschema.ExternalInfoSchemaDatabase; import org.apache.doris.datasource.test.TestExternalCatalog; +import org.apache.doris.datasource.test.TestExternalDatabase; import org.apache.doris.mysql.privilege.Auth; import org.apache.doris.persist.gson.GsonUtils; import org.apache.doris.qe.ConnectContext; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/property/PropertyConverterTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/property/PropertyConverterTest.java index 535ab0b6e7..4c4f524621 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/property/PropertyConverterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/property/PropertyConverterTest.java @@ -34,9 +34,9 @@ import org.apache.doris.common.FeMetaVersion; import org.apache.doris.common.Pair; import org.apache.doris.common.UserException; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.datasource.HMSExternalCatalog; -import org.apache.doris.datasource.MaxComputeExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; import org.apache.doris.datasource.iceberg.IcebergExternalCatalog; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalCatalog; import org.apache.doris.datasource.property.constants.CosProperties; import org.apache.doris.datasource.property.constants.GCSProperties; import org.apache.doris.datasource.property.constants.HMSProperties; diff --git a/fe/fe-core/src/test/java/org/apache/doris/external/hms/HmsCatalogTest.java b/fe/fe-core/src/test/java/org/apache/doris/external/hms/HmsCatalogTest.java index 66e22fd4c1..220813a305 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/external/hms/HmsCatalogTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/external/hms/HmsCatalogTest.java @@ -24,15 +24,15 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.HMSExternalDatabase; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Config; import org.apache.doris.common.FeConstants; import org.apache.doris.common.jmockit.Deencapsulation; import org.apache.doris.datasource.CatalogMgr; -import org.apache.doris.datasource.HMSExternalCatalog; import org.apache.doris.datasource.InternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalDatabase; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.nereids.datasets.tpch.AnalyzeCheckTestBase; import org.apache.doris.qe.SessionVariable; diff --git a/fe/fe-core/src/test/java/org/apache/doris/journal/bdbje/BDBEnvironmentTest.java b/fe/fe-core/src/test/java/org/apache/doris/journal/bdbje/BDBEnvironmentTest.java index c3a942cf07..68f01981a9 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/journal/bdbje/BDBEnvironmentTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/journal/bdbje/BDBEnvironmentTest.java @@ -45,7 +45,6 @@ import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.RepeatedTest; -// import org.junit.jupiter.api.Test; import java.io.File; import java.io.IOException; diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/FederationBackendPolicyTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/FederationBackendPolicyTest.java index e7c5d8acfd..c0307cbd6d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/FederationBackendPolicyTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/FederationBackendPolicyTest.java @@ -20,9 +20,9 @@ package org.apache.doris.planner; import org.apache.doris.catalog.Env; import org.apache.doris.common.Config; import org.apache.doris.common.UserException; -import org.apache.doris.planner.external.FederationBackendPolicy; -import org.apache.doris.planner.external.FileSplit; -import org.apache.doris.planner.external.NodeSelectionStrategy; +import org.apache.doris.datasource.FederationBackendPolicy; +import org.apache.doris.datasource.FileSplit; +import org.apache.doris.datasource.NodeSelectionStrategy; import org.apache.doris.spi.Split; import org.apache.doris.system.Backend; import org.apache.doris.system.SystemInfoService; diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/PaimonPredicateConverterTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/PaimonPredicateConverterTest.java index a840856521..474f16ca0f 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/PaimonPredicateConverterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/PaimonPredicateConverterTest.java @@ -19,7 +19,7 @@ package org.apache.doris.planner; import org.apache.doris.analysis.Expr; import org.apache.doris.common.FeConstants; -import org.apache.doris.planner.external.paimon.PaimonPredicateConverter; +import org.apache.doris.datasource.paimon.source.PaimonPredicateConverter; import org.apache.doris.qe.StmtExecutor; import org.apache.doris.utframe.TestWithFeService; diff --git a/fe/fe-core/src/test/java/org/apache/doris/qe/HmsQueryCacheTest.java b/fe/fe-core/src/test/java/org/apache/doris/qe/HmsQueryCacheTest.java index d31a0c504e..1c06670694 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/qe/HmsQueryCacheTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/qe/HmsQueryCacheTest.java @@ -27,19 +27,19 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.HMSExternalDatabase; -import org.apache.doris.catalog.external.HMSExternalTable; -import org.apache.doris.catalog.external.HMSExternalTable.DLAType; import org.apache.doris.common.Config; import org.apache.doris.common.FeConstants; import org.apache.doris.common.jmockit.Deencapsulation; import org.apache.doris.datasource.CatalogMgr; -import org.apache.doris.datasource.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalDatabase; +import org.apache.doris.datasource.hive.HMSExternalTable; +import org.apache.doris.datasource.hive.HMSExternalTable.DLAType; +import org.apache.doris.datasource.hive.source.HiveScanNode; import org.apache.doris.nereids.datasets.tpch.AnalyzeCheckTestBase; import org.apache.doris.planner.OlapScanNode; import org.apache.doris.planner.PlanNodeId; import org.apache.doris.planner.ScanNode; -import org.apache.doris.planner.external.HiveScanNode; import org.apache.doris.qe.cache.CacheAnalyzer; import org.apache.doris.qe.cache.SqlCache; diff --git a/fe/fe-core/src/test/java/org/apache/doris/statistics/CacheTest.java b/fe/fe-core/src/test/java/org/apache/doris/statistics/CacheTest.java index 93ec2770c8..a30a8f2d3f 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/statistics/CacheTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/statistics/CacheTest.java @@ -22,11 +22,11 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.Type; -import org.apache.doris.catalog.external.HMSExternalDatabase; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.ThreadPoolManager; import org.apache.doris.datasource.CatalogMgr; -import org.apache.doris.datasource.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HMSExternalDatabase; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.ha.FrontendNodeType; import org.apache.doris.statistics.util.StatisticsUtil; import org.apache.doris.system.Frontend; diff --git a/fe/fe-core/src/test/java/org/apache/doris/statistics/HMSAnalysisTaskTest.java b/fe/fe-core/src/test/java/org/apache/doris/statistics/HMSAnalysisTaskTest.java index c8b42fcb34..b98338eb39 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/statistics/HMSAnalysisTaskTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/statistics/HMSAnalysisTaskTest.java @@ -21,9 +21,9 @@ import org.apache.doris.analysis.TableSample; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.DatabaseIf; import org.apache.doris.catalog.PrimitiveType; -import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.common.Pair; import org.apache.doris.datasource.CatalogIf; +import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.statistics.util.StatisticsUtil; import com.google.common.collect.ImmutableList; diff --git a/fe/fe-core/src/test/java/org/apache/doris/statistics/JdbcAnalysisTaskTest.java b/fe/fe-core/src/test/java/org/apache/doris/statistics/JdbcAnalysisTaskTest.java index dab201856a..f079108274 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/statistics/JdbcAnalysisTaskTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/statistics/JdbcAnalysisTaskTest.java @@ -21,8 +21,8 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.DatabaseIf; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.TableIf; -import org.apache.doris.catalog.external.JdbcExternalTable; import org.apache.doris.datasource.CatalogIf; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; import org.apache.doris.statistics.util.DBObjects; import org.apache.doris.statistics.util.StatisticsUtil;