diff --git a/.github/labeler.yml b/.github/labeler.yml
index 878f9fae05cc..90967a3b9dc7 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -48,6 +48,7 @@ CORE:
- changed-files:
- any-glob-to-any-file: [
'gluten-core/**/*',
+ 'gluten-substrait/**/*',
'shims/**/*',
'gluten-ras/**/*',
'gluten-ui/**/*',
diff --git a/.github/workflows/clickhouse_be_trigger.yml b/.github/workflows/clickhouse_be_trigger.yml
index 19f9b55a0303..153fa391b8de 100644
--- a/.github/workflows/clickhouse_be_trigger.yml
+++ b/.github/workflows/clickhouse_be_trigger.yml
@@ -26,6 +26,7 @@ on:
- 'gluten-celeborn/package/**'
- 'gluten-celeborn/clickhouse/**'
- 'gluten-core/**'
+ - 'gluten-substrait/**'
- 'gluten-ut/**'
- 'shims/**'
- 'tools/gluten-it/**'
diff --git a/.github/workflows/velox_backend.yml b/.github/workflows/velox_backend.yml
index de6995673167..b0744c1ed717 100644
--- a/.github/workflows/velox_backend.yml
+++ b/.github/workflows/velox_backend.yml
@@ -27,6 +27,7 @@ on:
- 'gluten-celeborn/velox/**'
- 'gluten-ras/**'
- 'gluten-core/**'
+ - 'gluten-substrait/**'
- 'gluten-data/**'
- 'gluten-delta/**'
- 'gluten-iceberg/**'
diff --git a/backends-clickhouse/pom.xml b/backends-clickhouse/pom.xml
index 9c2103003d83..a2b685490833 100644
--- a/backends-clickhouse/pom.xml
+++ b/backends-clickhouse/pom.xml
@@ -16,7 +16,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
compile
@@ -33,7 +33,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
test-jar
test
diff --git a/backends-clickhouse/src/test/scala/org/apache/gluten/affinity/CHUTAffinity.scala b/backends-clickhouse/src/test/scala/org/apache/gluten/affinity/CHUTAffinity.scala
index d8bd31d6f4d9..ee8ec686fab2 100644
--- a/backends-clickhouse/src/test/scala/org/apache/gluten/affinity/CHUTAffinity.scala
+++ b/backends-clickhouse/src/test/scala/org/apache/gluten/affinity/CHUTAffinity.scala
@@ -33,8 +33,8 @@ object CHUTSoftAffinityManager extends AffinityManager {
override lazy val minOnTargetHosts: Int =
GlutenConfig.GLUTEN_SOFT_AFFINITY_MIN_TARGET_HOSTS_DEFAULT_VALUE
- override lazy val detectDuplicateReading = true
+ override lazy val detectDuplicateReading: Boolean = true
- override lazy val duplicateReadingMaxCacheItems =
+ override lazy val duplicateReadingMaxCacheItems: Int =
GlutenConfig.GLUTEN_SOFT_AFFINITY_DUPLICATE_READING_MAX_CACHE_ITEMS_DEFAULT_VALUE
}
diff --git a/backends-velox/pom.xml b/backends-velox/pom.xml
index 417f64999b95..3acf27c316ca 100755
--- a/backends-velox/pom.xml
+++ b/backends-velox/pom.xml
@@ -34,7 +34,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
compile
@@ -45,7 +45,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
test-jar
test
@@ -78,12 +78,6 @@
${project.version}
compile
-
- org.apache.gluten
- spark-sql-columnar-shims-common
- ${project.version}
- provided
-
org.scalacheck
scalacheck_${scala.binary.version}
diff --git a/cpp-ch/local-engine/proto/substrait b/cpp-ch/local-engine/proto/substrait
index a6f5b7a93ff3..42cc297b88b0 120000
--- a/cpp-ch/local-engine/proto/substrait
+++ b/cpp-ch/local-engine/proto/substrait
@@ -1 +1 @@
-../../../gluten-core/src/main/resources/substrait/proto/substrait
\ No newline at end of file
+../../../gluten-substrait/src/main/resources/substrait/proto/substrait
\ No newline at end of file
diff --git a/cpp/core/CMakeLists.txt b/cpp/core/CMakeLists.txt
index ef21ccbe855a..9311b71ed83e 100644
--- a/cpp/core/CMakeLists.txt
+++ b/cpp/core/CMakeLists.txt
@@ -39,11 +39,11 @@ endif()
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH})
set(SUBSTRAIT_PROTO_SRC_DIR
- ${GLUTEN_HOME}/gluten-core/src/main/resources/substrait/proto)
+ ${GLUTEN_HOME}/gluten-substrait/src/main/resources/substrait/proto)
message(STATUS "Set Substrait Proto Directory in ${SUBSTRAIT_PROTO_SRC_DIR}")
set(GLUTEN_PROTO_SRC_DIR
- ${GLUTEN_HOME}/gluten-core/src/main/resources/org/apache/gluten/proto)
+ ${GLUTEN_HOME}/gluten-substrait/src/main/resources/org/apache/gluten/proto)
message(STATUS "Set Gluten Proto Directory in ${GLUTEN_PROTO_SRC_DIR}")
find_program(CCACHE_FOUND ccache)
diff --git a/docs/developers/HowTo.md b/docs/developers/HowTo.md
index 5b16c965fe63..ff9d34d3ba84 100644
--- a/docs/developers/HowTo.md
+++ b/docs/developers/HowTo.md
@@ -21,7 +21,7 @@ transforms Spark plan to Substrait plan, and then send the Substrait plan to the
The Gluten codes consist of two parts: the C++ codes and the Java/Scala codes.
1. All C++ codes are placed under the directory of `${GLUTEN_HOME}/cpp`, the Java/Scala codes are placed under several directories, such as
- `${GLUTEN_HOME}/gluten-core` `${GLUTEN_HOME}/gluten-data` `${GLUTEN_HOME}/backends-velox`.
+ `${GLUTEN_HOME}/gluten-substrait` `${GLUTEN_HOME}/gluten-data` `${GLUTEN_HOME}/backends-velox`.
2. The Java/Scala codes are responsible for validating and transforming the execution plan. Source data should also be provided, the source data may
come from files or other forms such as networks.
3. The C++ codes take the Substrait plan and the source data as inputs and transform the Substrait plan to the corresponding backend plan. If the backend
diff --git a/docs/get-started/ClickHouse.md b/docs/get-started/ClickHouse.md
index 12a662270c02..966d146b348f 100644
--- a/docs/get-started/ClickHouse.md
+++ b/docs/get-started/ClickHouse.md
@@ -489,11 +489,11 @@ This benchmark is tested on AWS EC2 cluster, there are 7 EC2 instances:
Refer to [Deploy Spark 3.2.2](#deploy-spark-322)
-- Deploy gluten-core-XXXXX-jar-with-dependencies.jar
+- Deploy gluten-substrait-XXXXX-jar-with-dependencies.jar
```
- #deploy 'gluten-core-XXXXX-jar-with-dependencies.jar' to every node, and then
- cp gluten-core-XXXXX-jar-with-dependencies.jar /path_to_spark/jars/
+ #deploy 'gluten-substrait-XXXXX-jar-with-dependencies.jar' to every node, and then
+ cp gluten-substrait-XXXXX-jar-with-dependencies.jar /path_to_spark/jars/
```
- Deploy ClickHouse library
diff --git a/gluten-celeborn/clickhouse/pom.xml b/gluten-celeborn/clickhouse/pom.xml
index 9e64e77ce6ea..21263443d735 100755
--- a/gluten-celeborn/clickhouse/pom.xml
+++ b/gluten-celeborn/clickhouse/pom.xml
@@ -30,7 +30,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
test-jar
test
diff --git a/gluten-celeborn/pom.xml b/gluten-celeborn/pom.xml
index db82aa81a45a..de19132b38f8 100755
--- a/gluten-celeborn/pom.xml
+++ b/gluten-celeborn/pom.xml
@@ -17,7 +17,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
provided
diff --git a/gluten-core/pom.xml b/gluten-core/pom.xml
index 6503f54bce73..08f5de5801a0 100644
--- a/gluten-core/pom.xml
+++ b/gluten-core/pom.xml
@@ -1,7 +1,6 @@
-
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
gluten-parent
org.apache.gluten
@@ -10,19 +9,15 @@
4.0.0
gluten-core
+ jar
Gluten Core
-
- none
- package
- ${project.build.directory}/scala-${scala.binary.version}/jars
-
-
org.apache.gluten
- gluten-ui
+ gluten-ras-common
${project.version}
+ compile
org.apache.gluten
@@ -32,7 +27,7 @@
org.apache.gluten
- gluten-ras-common
+ spark-sql-columnar-shims-common
${project.version}
compile
@@ -121,203 +116,18 @@
3.1.0.0-RC2
test
-
- org.seleniumhq.selenium
- selenium-htmlunit-driver
- 2.52.0
- test
-
-
- io.trino.tpch
- tpch
- 1.1
- test
-
-
- io.trino.tpcds
- tpcds
- 1.4
- test
-
-
- org.kohsuke
- github-api
- 1.117
- test
-
-
- io.jsonwebtoken
- jjwt-api
- 0.10.5
- test
-
-
- io.jsonwebtoken
- jjwt-impl
- 0.10.5
- test
-
-
- io.jsonwebtoken
- jjwt-jackson
- 0.10.5
- test
-
-
- org.knowm.xchart
- xchart
- 3.6.5
- test
-
-
- de.erichseifert.vectorgraphics2d
- VectorGraphics2D
-
-
-
-
- org.apache.gluten
- spark-sql-columnar-shims-common
- ${project.version}
- compile
-
com.google.protobuf
protobuf-java
${protobuf.version}
provided
-
- io.glutenproject
- protobuf-java-util
- ${custom.protobuf.version}
-
-
- commons-io
- commons-io
- 2.11.0
- provided
-
-
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.core
- jackson-annotations
-
-
- com.fasterxml.jackson.core
- jackson-core
-
-
- com.fasterxml.jackson.module
- jackson-module-scala_${scala.binary.version}
-
-
-
- com.github.javafaker
- javafaker
- 1.0.2
- test
-
-
-
- backends-velox
-
- velox
- ${project.basedir}/../ep/build-velox/build/velox_ep
-
-
-
- backends-clickhouse
-
- ch
- ${project.basedir}/../cpp-ch/ClickHouse
-
-
-
-
target/scala-${scala.binary.version}/classes
target/scala-${scala.binary.version}/test-classes
-
-
- true
-
- ${project.build.directory}/extra-resources
-
-
-
- org.apache.maven.plugins
- maven-antrun-plugin
-
-
- build-info
-
- run
-
- generate-resources
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- org.xolstice.maven.plugins
- protobuf-maven-plugin
-
-
- compile-substrait-proto
- generate-sources
-
- compile
- test-compile
-
-
-
- com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
-
- src/main/resources/substrait/proto
- true
-
-
-
- compile-gluten-proto
- generate-sources
-
- compile
- test-compile
-
-
-
- com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
-
- src/main/resources/org/apache/gluten/proto
- false
-
-
-
-
org.apache.maven.plugins
maven-resources-plugin
diff --git a/gluten-data/pom.xml b/gluten-data/pom.xml
index bca3143cf6c6..b3f70d273f04 100644
--- a/gluten-data/pom.xml
+++ b/gluten-data/pom.xml
@@ -47,7 +47,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
compile
@@ -64,7 +64,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
test-jar
test
diff --git a/gluten-delta/pom.xml b/gluten-delta/pom.xml
index 08e2060d0f63..48d47d906ba0 100755
--- a/gluten-delta/pom.xml
+++ b/gluten-delta/pom.xml
@@ -21,7 +21,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
provided
@@ -44,7 +44,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
test-jar
test
diff --git a/gluten-hudi/pom.xml b/gluten-hudi/pom.xml
index 2faf53a07ea7..b65217ea5b98 100755
--- a/gluten-hudi/pom.xml
+++ b/gluten-hudi/pom.xml
@@ -21,7 +21,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
provided
@@ -45,7 +45,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
test-jar
test
diff --git a/gluten-iceberg/pom.xml b/gluten-iceberg/pom.xml
index d28aac73fa05..728924466002 100644
--- a/gluten-iceberg/pom.xml
+++ b/gluten-iceberg/pom.xml
@@ -21,7 +21,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
provided
@@ -45,7 +45,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
test-jar
test
diff --git a/gluten-substrait/pom.xml b/gluten-substrait/pom.xml
new file mode 100644
index 000000000000..9ace971f9d7e
--- /dev/null
+++ b/gluten-substrait/pom.xml
@@ -0,0 +1,367 @@
+
+
+
+ gluten-parent
+ org.apache.gluten
+ 1.3.0-SNAPSHOT
+
+ 4.0.0
+
+ gluten-substrait
+ jar
+ Gluten Substrait
+
+
+ none
+ package
+ ${project.build.directory}/scala-${scala.binary.version}/jars
+
+
+
+
+ org.apache.gluten
+ gluten-core
+ ${project.version}
+
+
+ org.apache.gluten
+ gluten-core
+ ${project.version}
+ test-jar
+ test
+
+
+ org.apache.gluten
+ gluten-ui
+ ${project.version}
+
+
+
+ org.apache.spark
+ spark-sql_${scala.binary.version}
+ provided
+
+
+ org.apache.spark
+ spark-core_${scala.binary.version}
+ provided
+
+
+ org.apache.spark
+ spark-catalyst_${scala.binary.version}
+ provided
+
+
+ org.apache.spark
+ spark-hive_${scala.binary.version}
+ provided
+
+
+ org.apache.hadoop
+ hadoop-client
+ ${hadoop.version}
+ provided
+
+
+ org.apache.spark
+ spark-core_${scala.binary.version}
+ test-jar
+ test
+
+
+ org.apache.spark
+ spark-sql_${scala.binary.version}
+ test-jar
+ test
+
+
+ org.apache.spark
+ spark-catalyst_${scala.binary.version}
+ test-jar
+ test
+
+
+ org.scalacheck
+ scalacheck_${scala.binary.version}
+ 1.17.0
+ test
+
+
+ org.scala-lang
+ scala-library
+ ${scala.version}
+ provided
+
+
+ org.scalatest
+ scalatest_${scala.binary.version}
+ test
+
+
+ org.mockito
+ mockito-core
+ 2.23.4
+ test
+
+
+ junit
+ junit
+ test
+
+
+ org.scalatestplus
+ scalatestplus-mockito_${scala.binary.version}
+ 1.0.0-M2
+ test
+
+
+ org.scalatestplus
+ scalatestplus-scalacheck_${scala.binary.version}
+ 3.1.0.0-RC2
+ test
+
+
+ org.seleniumhq.selenium
+ selenium-htmlunit-driver
+ 2.52.0
+ test
+
+
+ io.trino.tpch
+ tpch
+ 1.1
+ test
+
+
+ io.trino.tpcds
+ tpcds
+ 1.4
+ test
+
+
+ org.kohsuke
+ github-api
+ 1.117
+ test
+
+
+ io.jsonwebtoken
+ jjwt-api
+ 0.10.5
+ test
+
+
+ io.jsonwebtoken
+ jjwt-impl
+ 0.10.5
+ test
+
+
+ io.jsonwebtoken
+ jjwt-jackson
+ 0.10.5
+ test
+
+
+ org.knowm.xchart
+ xchart
+ 3.6.5
+ test
+
+
+ de.erichseifert.vectorgraphics2d
+ VectorGraphics2D
+
+
+
+
+ com.google.protobuf
+ protobuf-java
+ ${protobuf.version}
+ provided
+
+
+ io.glutenproject
+ protobuf-java-util
+ ${custom.protobuf.version}
+
+
+ commons-io
+ commons-io
+ 2.11.0
+ provided
+
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+
+
+ com.fasterxml.jackson.core
+ jackson-core
+
+
+ com.fasterxml.jackson.module
+ jackson-module-scala_${scala.binary.version}
+
+
+
+ com.github.javafaker
+ javafaker
+ 1.0.2
+ test
+
+
+
+
+
+ backends-velox
+
+ velox
+ ${project.basedir}/../ep/build-velox/build/velox_ep
+
+
+
+ backends-clickhouse
+
+ ch
+ ${project.basedir}/../cpp-ch/ClickHouse
+
+
+
+
+
+ target/scala-${scala.binary.version}/classes
+ target/scala-${scala.binary.version}/test-classes
+
+
+ true
+
+ ${project.build.directory}/extra-resources
+
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+
+
+ build-info
+
+ run
+
+ generate-resources
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.xolstice.maven.plugins
+ protobuf-maven-plugin
+
+
+ compile-substrait-proto
+ generate-sources
+
+ compile
+ test-compile
+
+
+
+ com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
+
+ src/main/resources/substrait/proto
+ true
+
+
+
+ compile-gluten-proto
+ generate-sources
+
+ compile
+ test-compile
+
+
+
+ com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
+
+ src/main/resources/org/apache/gluten/proto
+ false
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+
+
+ net.alchim31.maven
+ scala-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ org.scalastyle
+ scalastyle-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+
+
+ com.diffplug.spotless
+ spotless-maven-plugin
+
+
+
+ ${project.basedir}/../.scalafmt.conf
+
+
+
+
+
+ org.scalatest
+ scalatest-maven-plugin
+ ${scalatest-maven-plugin.version}
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ prepare-test-jar
+ test-compile
+
+ test-jar
+
+
+
+
+
+
+
diff --git a/gluten-core/src/main/java/org/apache/gluten/exception/GlutenException.java b/gluten-substrait/src/main/java/org/apache/gluten/exception/GlutenException.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/exception/GlutenException.java
rename to gluten-substrait/src/main/java/org/apache/gluten/exception/GlutenException.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/exception/GlutenNotSupportException.java b/gluten-substrait/src/main/java/org/apache/gluten/exception/GlutenNotSupportException.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/exception/GlutenNotSupportException.java
rename to gluten-substrait/src/main/java/org/apache/gluten/exception/GlutenNotSupportException.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/MemoryUsageRecorder.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/MemoryUsageRecorder.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/MemoryUsageRecorder.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/MemoryUsageRecorder.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/MemoryUsageStatsBuilder.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/MemoryUsageStatsBuilder.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/MemoryUsageStatsBuilder.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/MemoryUsageStatsBuilder.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/SimpleMemoryUsageRecorder.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/SimpleMemoryUsageRecorder.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/SimpleMemoryUsageRecorder.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/SimpleMemoryUsageRecorder.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/DynamicOffHeapSizingMemoryTarget.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/DynamicOffHeapSizingMemoryTarget.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/DynamicOffHeapSizingMemoryTarget.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/DynamicOffHeapSizingMemoryTarget.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/KnownNameAndStats.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/KnownNameAndStats.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/KnownNameAndStats.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/KnownNameAndStats.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/LoggingMemoryTarget.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/LoggingMemoryTarget.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/LoggingMemoryTarget.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/LoggingMemoryTarget.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/MemoryTarget.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/MemoryTarget.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/MemoryTarget.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/MemoryTarget.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargetUtil.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargetUtil.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargetUtil.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargetUtil.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargetVisitor.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargetVisitor.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargetVisitor.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargetVisitor.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargets.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargets.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargets.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/MemoryTargets.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/NoopMemoryTarget.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/NoopMemoryTarget.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/NoopMemoryTarget.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/NoopMemoryTarget.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/OverAcquire.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/OverAcquire.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/OverAcquire.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/OverAcquire.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/Spiller.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/Spiller.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/Spiller.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/Spiller.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/Spillers.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/Spillers.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/Spillers.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/Spillers.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/ThrowOnOomMemoryTarget.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/ThrowOnOomMemoryTarget.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/ThrowOnOomMemoryTarget.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/ThrowOnOomMemoryTarget.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/TreeMemoryTarget.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/TreeMemoryTarget.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/TreeMemoryTarget.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/TreeMemoryTarget.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/TreeMemoryTargets.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/TreeMemoryTargets.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/TreeMemoryTargets.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/TreeMemoryTargets.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/spark/RegularMemoryConsumer.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/spark/RegularMemoryConsumer.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/spark/RegularMemoryConsumer.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/spark/RegularMemoryConsumer.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumer.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumer.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumer.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumer.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumers.java b/gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumers.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumers.java
rename to gluten-substrait/src/main/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumers.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/metrics/IMetrics.java b/gluten-substrait/src/main/java/org/apache/gluten/metrics/IMetrics.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/metrics/IMetrics.java
rename to gluten-substrait/src/main/java/org/apache/gluten/metrics/IMetrics.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/metrics/IOperatorMetrics.java b/gluten-substrait/src/main/java/org/apache/gluten/metrics/IOperatorMetrics.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/metrics/IOperatorMetrics.java
rename to gluten-substrait/src/main/java/org/apache/gluten/metrics/IOperatorMetrics.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/row/SparkRowInfo.java b/gluten-substrait/src/main/java/org/apache/gluten/row/SparkRowInfo.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/row/SparkRowInfo.java
rename to gluten-substrait/src/main/java/org/apache/gluten/row/SparkRowInfo.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/derivation/BinaryOPNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/derivation/BinaryOPNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/derivation/BinaryOPNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/derivation/BinaryOPNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/derivation/DerivationExpressionBuilder.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/derivation/DerivationExpressionBuilder.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/derivation/DerivationExpressionBuilder.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/derivation/DerivationExpressionBuilder.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/derivation/DerivationExpressionNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/derivation/DerivationExpressionNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/derivation/DerivationExpressionNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/derivation/DerivationExpressionNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/derivation/DerivationFP64TypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/derivation/DerivationFP64TypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/derivation/DerivationFP64TypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/derivation/DerivationFP64TypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/AggregateFunctionNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/AggregateFunctionNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/AggregateFunctionNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/AggregateFunctionNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/BinaryLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/BinaryLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/BinaryLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/BinaryLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/BooleanLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/BooleanLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/BooleanLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/BooleanLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/ByteLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ByteLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/ByteLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ByteLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/CastNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/CastNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/CastNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/CastNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/DateLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/DateLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/DateLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/DateLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/DecimalLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/DecimalLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/DecimalLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/DecimalLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/DoubleLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/DoubleLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/DoubleLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/DoubleLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/ExpressionBuilder.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ExpressionBuilder.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/ExpressionBuilder.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ExpressionBuilder.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/ExpressionNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ExpressionNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/ExpressionNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ExpressionNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/FloatLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/FloatLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/FloatLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/FloatLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/IfThenNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/IfThenNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/IfThenNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/IfThenNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/IntLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/IntLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/IntLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/IntLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/ListLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ListLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/ListLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ListLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/LiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/LiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/LiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/LiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/LiteralNodeWithValue.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/LiteralNodeWithValue.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/LiteralNodeWithValue.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/LiteralNodeWithValue.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/LongLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/LongLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/LongLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/LongLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/MapLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/MapLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/MapLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/MapLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/NullLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/NullLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/NullLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/NullLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/ScalarFunctionNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ScalarFunctionNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/ScalarFunctionNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ScalarFunctionNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/SelectionNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/SelectionNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/SelectionNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/SelectionNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/ShortLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ShortLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/ShortLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/ShortLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/SingularOrListNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/SingularOrListNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/SingularOrListNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/SingularOrListNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/StringLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/StringLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/StringLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/StringLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/StringMapNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/StringMapNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/StringMapNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/StringMapNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/StructLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/StructLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/StructLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/StructLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/TimestampLiteralNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/TimestampLiteralNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/TimestampLiteralNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/TimestampLiteralNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/expression/WindowFunctionNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/WindowFunctionNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/expression/WindowFunctionNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/expression/WindowFunctionNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/extensions/AdvancedExtensionNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/extensions/AdvancedExtensionNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/extensions/AdvancedExtensionNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/extensions/AdvancedExtensionNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/extensions/ExtensionBuilder.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/extensions/ExtensionBuilder.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/extensions/ExtensionBuilder.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/extensions/ExtensionBuilder.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/extensions/FunctionMappingNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/extensions/FunctionMappingNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/extensions/FunctionMappingNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/extensions/FunctionMappingNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/plan/PlanBuilder.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/plan/PlanBuilder.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/plan/PlanBuilder.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/plan/PlanBuilder.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/plan/PlanNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/plan/PlanNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/plan/PlanNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/plan/PlanNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/AggregateRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/AggregateRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/AggregateRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/AggregateRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/CrossRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/CrossRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/CrossRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/CrossRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/ExpandRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/ExpandRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/ExpandRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/ExpandRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/ExtensionTableBuilder.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/ExtensionTableBuilder.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/ExtensionTableBuilder.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/ExtensionTableBuilder.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/ExtensionTableNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/ExtensionTableNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/ExtensionTableNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/ExtensionTableNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/FetchRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/FetchRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/FetchRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/FetchRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/FilterRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/FilterRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/FilterRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/FilterRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/GenerateRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/GenerateRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/GenerateRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/GenerateRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/InputIteratorRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/InputIteratorRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/InputIteratorRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/InputIteratorRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/JoinRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/JoinRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/JoinRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/JoinRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/LocalFilesBuilder.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/LocalFilesBuilder.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/LocalFilesBuilder.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/LocalFilesBuilder.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/LocalFilesNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/LocalFilesNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/LocalFilesNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/LocalFilesNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/ProjectRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/ProjectRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/ProjectRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/ProjectRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/ReadRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/ReadRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/ReadRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/ReadRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/RelBuilder.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/RelBuilder.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/RelBuilder.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/RelBuilder.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/RelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/RelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/RelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/RelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/SortRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/SortRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/SortRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/SortRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/SplitInfo.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/SplitInfo.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/SplitInfo.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/SplitInfo.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/TopNNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/TopNNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/TopNNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/TopNNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/WindowGroupLimitRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/WindowGroupLimitRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/WindowGroupLimitRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/WindowGroupLimitRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/WindowRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/WindowRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/WindowRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/WindowRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/rel/WriteRelNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/WriteRelNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/rel/WriteRelNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/rel/WriteRelNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/BinaryTypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/BinaryTypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/BinaryTypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/BinaryTypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/BooleanTypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/BooleanTypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/BooleanTypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/BooleanTypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/ColumnTypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/ColumnTypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/ColumnTypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/ColumnTypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/DateTypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/DateTypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/DateTypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/DateTypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/DecimalTypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/DecimalTypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/DecimalTypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/DecimalTypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/FP32TypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/FP32TypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/FP32TypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/FP32TypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/FP64TypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/FP64TypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/FP64TypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/FP64TypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/FixedBinaryTypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/FixedBinaryTypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/FixedBinaryTypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/FixedBinaryTypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/FixedCharTypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/FixedCharTypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/FixedCharTypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/FixedCharTypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/I16TypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/I16TypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/I16TypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/I16TypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/I32TypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/I32TypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/I32TypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/I32TypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/I64TypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/I64TypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/I64TypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/I64TypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/I8TypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/I8TypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/I8TypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/I8TypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/IntervalYearTypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/IntervalYearTypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/IntervalYearTypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/IntervalYearTypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/ListNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/ListNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/ListNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/ListNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/MapNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/MapNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/MapNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/MapNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/NothingNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/NothingNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/NothingNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/NothingNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/StringTypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/StringTypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/StringTypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/StringTypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/StructNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/StructNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/StructNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/StructNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/TimestampTypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/TimestampTypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/TimestampTypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/TimestampTypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/TypeBuilder.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/TypeBuilder.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/TypeBuilder.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/TypeBuilder.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/substrait/type/TypeNode.java b/gluten-substrait/src/main/java/org/apache/gluten/substrait/type/TypeNode.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/substrait/type/TypeNode.java
rename to gluten-substrait/src/main/java/org/apache/gluten/substrait/type/TypeNode.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/test/TestStats.java b/gluten-substrait/src/main/java/org/apache/gluten/test/TestStats.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/test/TestStats.java
rename to gluten-substrait/src/main/java/org/apache/gluten/test/TestStats.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/validate/NativePlanValidationInfo.java b/gluten-substrait/src/main/java/org/apache/gluten/validate/NativePlanValidationInfo.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/validate/NativePlanValidationInfo.java
rename to gluten-substrait/src/main/java/org/apache/gluten/validate/NativePlanValidationInfo.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/vectorized/GeneralInIterator.java b/gluten-substrait/src/main/java/org/apache/gluten/vectorized/GeneralInIterator.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/vectorized/GeneralInIterator.java
rename to gluten-substrait/src/main/java/org/apache/gluten/vectorized/GeneralInIterator.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/vectorized/GeneralOutIterator.java b/gluten-substrait/src/main/java/org/apache/gluten/vectorized/GeneralOutIterator.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/vectorized/GeneralOutIterator.java
rename to gluten-substrait/src/main/java/org/apache/gluten/vectorized/GeneralOutIterator.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/vectorized/JniLibLoader.java b/gluten-substrait/src/main/java/org/apache/gluten/vectorized/JniLibLoader.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/vectorized/JniLibLoader.java
rename to gluten-substrait/src/main/java/org/apache/gluten/vectorized/JniLibLoader.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/vectorized/JniResourceHelper.java b/gluten-substrait/src/main/java/org/apache/gluten/vectorized/JniResourceHelper.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/vectorized/JniResourceHelper.java
rename to gluten-substrait/src/main/java/org/apache/gluten/vectorized/JniResourceHelper.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/vectorized/JniWorkspace.java b/gluten-substrait/src/main/java/org/apache/gluten/vectorized/JniWorkspace.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/vectorized/JniWorkspace.java
rename to gluten-substrait/src/main/java/org/apache/gluten/vectorized/JniWorkspace.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/vectorized/NativePartitioning.java b/gluten-substrait/src/main/java/org/apache/gluten/vectorized/NativePartitioning.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/vectorized/NativePartitioning.java
rename to gluten-substrait/src/main/java/org/apache/gluten/vectorized/NativePartitioning.java
diff --git a/gluten-core/src/main/java/org/apache/gluten/vectorized/SplitResult.java b/gluten-substrait/src/main/java/org/apache/gluten/vectorized/SplitResult.java
similarity index 100%
rename from gluten-core/src/main/java/org/apache/gluten/vectorized/SplitResult.java
rename to gluten-substrait/src/main/java/org/apache/gluten/vectorized/SplitResult.java
diff --git a/gluten-core/src/main/resources/org/apache/gluten/proto/config.proto b/gluten-substrait/src/main/resources/org/apache/gluten/proto/config.proto
similarity index 100%
rename from gluten-core/src/main/resources/org/apache/gluten/proto/config.proto
rename to gluten-substrait/src/main/resources/org/apache/gluten/proto/config.proto
diff --git a/gluten-core/src/main/resources/org/apache/gluten/proto/memory.proto b/gluten-substrait/src/main/resources/org/apache/gluten/proto/memory.proto
similarity index 100%
rename from gluten-core/src/main/resources/org/apache/gluten/proto/memory.proto
rename to gluten-substrait/src/main/resources/org/apache/gluten/proto/memory.proto
diff --git a/gluten-core/src/main/resources/substrait/proto/substrait/algebra.proto b/gluten-substrait/src/main/resources/substrait/proto/substrait/algebra.proto
similarity index 100%
rename from gluten-core/src/main/resources/substrait/proto/substrait/algebra.proto
rename to gluten-substrait/src/main/resources/substrait/proto/substrait/algebra.proto
diff --git a/gluten-core/src/main/resources/substrait/proto/substrait/capabilities.proto b/gluten-substrait/src/main/resources/substrait/proto/substrait/capabilities.proto
similarity index 100%
rename from gluten-core/src/main/resources/substrait/proto/substrait/capabilities.proto
rename to gluten-substrait/src/main/resources/substrait/proto/substrait/capabilities.proto
diff --git a/gluten-core/src/main/resources/substrait/proto/substrait/extended_expression.proto b/gluten-substrait/src/main/resources/substrait/proto/substrait/extended_expression.proto
similarity index 100%
rename from gluten-core/src/main/resources/substrait/proto/substrait/extended_expression.proto
rename to gluten-substrait/src/main/resources/substrait/proto/substrait/extended_expression.proto
diff --git a/gluten-core/src/main/resources/substrait/proto/substrait/extensions/extensions.proto b/gluten-substrait/src/main/resources/substrait/proto/substrait/extensions/extensions.proto
similarity index 100%
rename from gluten-core/src/main/resources/substrait/proto/substrait/extensions/extensions.proto
rename to gluten-substrait/src/main/resources/substrait/proto/substrait/extensions/extensions.proto
diff --git a/gluten-core/src/main/resources/substrait/proto/substrait/function.proto b/gluten-substrait/src/main/resources/substrait/proto/substrait/function.proto
similarity index 100%
rename from gluten-core/src/main/resources/substrait/proto/substrait/function.proto
rename to gluten-substrait/src/main/resources/substrait/proto/substrait/function.proto
diff --git a/gluten-core/src/main/resources/substrait/proto/substrait/parameterized_types.proto b/gluten-substrait/src/main/resources/substrait/proto/substrait/parameterized_types.proto
similarity index 100%
rename from gluten-core/src/main/resources/substrait/proto/substrait/parameterized_types.proto
rename to gluten-substrait/src/main/resources/substrait/proto/substrait/parameterized_types.proto
diff --git a/gluten-core/src/main/resources/substrait/proto/substrait/plan.proto b/gluten-substrait/src/main/resources/substrait/proto/substrait/plan.proto
similarity index 100%
rename from gluten-core/src/main/resources/substrait/proto/substrait/plan.proto
rename to gluten-substrait/src/main/resources/substrait/proto/substrait/plan.proto
diff --git a/gluten-core/src/main/resources/substrait/proto/substrait/type.proto b/gluten-substrait/src/main/resources/substrait/proto/substrait/type.proto
similarity index 100%
rename from gluten-core/src/main/resources/substrait/proto/substrait/type.proto
rename to gluten-substrait/src/main/resources/substrait/proto/substrait/type.proto
diff --git a/gluten-core/src/main/resources/substrait/proto/substrait/type_expressions.proto b/gluten-substrait/src/main/resources/substrait/proto/substrait/type_expressions.proto
similarity index 100%
rename from gluten-core/src/main/resources/substrait/proto/substrait/type_expressions.proto
rename to gluten-substrait/src/main/resources/substrait/proto/substrait/type_expressions.proto
diff --git a/gluten-core/src/main/scala/org/apache/gluten/GlutenPlugin.scala b/gluten-substrait/src/main/scala/org/apache/gluten/GlutenPlugin.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/GlutenPlugin.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/GlutenPlugin.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/backendsapi/Backend.scala b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/Backend.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/backendsapi/Backend.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/Backend.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/backendsapi/BackendSettingsApi.scala b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/BackendSettingsApi.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/backendsapi/BackendSettingsApi.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/BackendSettingsApi.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/backendsapi/BackendsApiManager.scala b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/BackendsApiManager.scala
similarity index 98%
rename from gluten-core/src/main/scala/org/apache/gluten/backendsapi/BackendsApiManager.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/BackendsApiManager.scala
index 16aa9161eba0..e4f5cbdc90b8 100644
--- a/gluten-core/src/main/scala/org/apache/gluten/backendsapi/BackendsApiManager.scala
+++ b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/BackendsApiManager.scala
@@ -50,7 +50,7 @@ object BackendsApiManager {
// Note: Do not make direct if-else checks based on output of the method.
// Any form of backend-specific code should be avoided from appearing in common module
- // (e.g. gluten-core, gluten-data)
+ // (e.g. gluten-substrait, gluten-data)
def getBackendName: String = {
backend.name()
}
diff --git a/gluten-core/src/main/scala/org/apache/gluten/backendsapi/IteratorApi.scala b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/IteratorApi.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/backendsapi/IteratorApi.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/IteratorApi.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/backendsapi/ListenerApi.scala b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/ListenerApi.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/backendsapi/ListenerApi.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/ListenerApi.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/backendsapi/MetricsApi.scala b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/MetricsApi.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/backendsapi/MetricsApi.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/MetricsApi.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/backendsapi/RuleApi.scala b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/RuleApi.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/backendsapi/RuleApi.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/RuleApi.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/backendsapi/SparkPlanExecApi.scala b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/SparkPlanExecApi.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/backendsapi/SparkPlanExecApi.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/SparkPlanExecApi.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/backendsapi/TransformerApi.scala b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/TransformerApi.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/backendsapi/TransformerApi.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/TransformerApi.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/backendsapi/ValidatorApi.scala b/gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/ValidatorApi.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/backendsapi/ValidatorApi.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/backendsapi/ValidatorApi.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/BaseDataSource.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/BaseDataSource.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/BaseDataSource.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/BaseDataSource.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/BasicPhysicalOperatorTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/BasicPhysicalOperatorTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/BasicPhysicalOperatorTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/BasicPhysicalOperatorTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/BasicScanExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/BasicScanExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/BasicScanExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/BasicScanExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/BatchScanExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/BatchScanExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/BatchScanExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/BatchScanExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/BroadcastBuildSideRDD.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/BroadcastBuildSideRDD.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/BroadcastBuildSideRDD.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/BroadcastBuildSideRDD.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/BroadcastNestedLoopJoinExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/BroadcastNestedLoopJoinExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/BroadcastNestedLoopJoinExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/BroadcastNestedLoopJoinExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/CartesianProductExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/CartesianProductExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/CartesianProductExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/CartesianProductExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/ColumnarCoalesceExec.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/ColumnarCoalesceExec.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/ColumnarCoalesceExec.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/ColumnarCoalesceExec.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/ColumnarToRowExecBase.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/ColumnarToRowExecBase.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/ColumnarToRowExecBase.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/ColumnarToRowExecBase.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/DataSourceScanTransformerRegister.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/DataSourceScanTransformerRegister.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/DataSourceScanTransformerRegister.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/DataSourceScanTransformerRegister.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/DatasourceScanTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/DatasourceScanTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/DatasourceScanTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/DatasourceScanTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/ExpandExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/ExpandExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/ExpandExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/ExpandExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/FileSourceScanExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/FileSourceScanExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/FileSourceScanExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/FileSourceScanExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/GenerateExecTransformerBase.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/GenerateExecTransformerBase.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/GenerateExecTransformerBase.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/GenerateExecTransformerBase.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/GlutenWholeStageColumnarRDD.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/GlutenWholeStageColumnarRDD.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/GlutenWholeStageColumnarRDD.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/GlutenWholeStageColumnarRDD.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/HashAggregateExecBaseTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/HashAggregateExecBaseTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/HashAggregateExecBaseTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/HashAggregateExecBaseTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/JoinExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/JoinExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/JoinExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/JoinExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/JoinUtils.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/JoinUtils.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/JoinUtils.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/JoinUtils.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/LimitTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/LimitTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/LimitTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/LimitTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/RowToColumnarExecBase.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/RowToColumnarExecBase.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/RowToColumnarExecBase.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/RowToColumnarExecBase.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/SampleExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/SampleExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/SampleExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/SampleExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/ScanTransformerFactory.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/ScanTransformerFactory.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/ScanTransformerFactory.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/ScanTransformerFactory.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/SortExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/SortExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/SortExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/SortExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/SortMergeJoinExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/SortMergeJoinExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/SortMergeJoinExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/SortMergeJoinExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/TakeOrderedAndProjectExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/TakeOrderedAndProjectExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/TakeOrderedAndProjectExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/TakeOrderedAndProjectExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/WholeStageTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/WholeStageTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/WholeStageTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/WholeStageTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/WholeStageZippedPartitionsRDD.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/WholeStageZippedPartitionsRDD.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/WholeStageZippedPartitionsRDD.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/WholeStageZippedPartitionsRDD.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/WindowExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/WindowExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/WindowExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/WindowExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/WindowGroupLimitExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/WindowGroupLimitExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/WindowGroupLimitExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/WindowGroupLimitExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/execution/WriteFilesExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/execution/WriteFilesExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/execution/WriteFilesExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/execution/WriteFilesExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/AggregateFunctionsBuilder.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/AggregateFunctionsBuilder.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/AggregateFunctionsBuilder.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/AggregateFunctionsBuilder.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/ArrayExpressionTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/ArrayExpressionTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/ArrayExpressionTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/ArrayExpressionTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/ConditionalTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/ConditionalTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/ConditionalTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/ConditionalTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/ConverterUtils.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/ConverterUtils.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/ConverterUtils.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/ConverterUtils.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/DateTimeExpressionsTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/DateTimeExpressionsTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/DateTimeExpressionsTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/DateTimeExpressionsTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/DecimalRoundTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/DecimalRoundTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/DecimalRoundTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/DecimalRoundTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionConverter.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionConverter.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionConverter.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionConverter.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionMappings.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionMappings.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionMappings.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionMappings.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionUtils.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionUtils.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/ExpressionUtils.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/ExpressionUtils.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/JsonTupleExpressionTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/JsonTupleExpressionTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/JsonTupleExpressionTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/JsonTupleExpressionTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/LambdaFunctionTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/LambdaFunctionTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/LambdaFunctionTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/LambdaFunctionTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/MapExpressionTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/MapExpressionTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/MapExpressionTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/MapExpressionTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/NamedExpressionsTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/NamedExpressionsTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/NamedExpressionsTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/NamedExpressionsTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/PredicateExpressionTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/PredicateExpressionTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/PredicateExpressionTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/PredicateExpressionTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/ScalarSubqueryTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/ScalarSubqueryTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/ScalarSubqueryTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/ScalarSubqueryTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/TransformerState.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/TransformerState.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/TransformerState.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/TransformerState.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/UDFMappings.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/UDFMappings.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/UDFMappings.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/UDFMappings.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/UnaryExpressionTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/UnaryExpressionTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/UnaryExpressionTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/UnaryExpressionTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/expression/WindowFunctionsBuilder.scala b/gluten-substrait/src/main/scala/org/apache/gluten/expression/WindowFunctionsBuilder.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/expression/WindowFunctionsBuilder.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/expression/WindowFunctionsBuilder.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/ColumnarOverrides.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/ColumnarOverrides.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/ColumnarOverrides.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/ColumnarOverrides.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/GlutenPlan.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/GlutenPlan.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/GlutenPlan.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/GlutenPlan.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/GlutenSessionExtensions.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/GlutenSessionExtensions.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/GlutenSessionExtensions.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/GlutenSessionExtensions.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/CollapseProjectExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/CollapseProjectExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/CollapseProjectExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/CollapseProjectExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/ColumnarRuleApplier.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/ColumnarRuleApplier.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/ColumnarRuleApplier.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/ColumnarRuleApplier.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/EliminateLocalSort.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/EliminateLocalSort.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/EliminateLocalSort.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/EliminateLocalSort.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/EnsureLocalSortRequirements.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/EnsureLocalSortRequirements.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/EnsureLocalSortRequirements.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/EnsureLocalSortRequirements.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/ExpandFallbackPolicy.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/ExpandFallbackPolicy.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/ExpandFallbackPolicy.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/ExpandFallbackPolicy.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/FallbackRules.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/FallbackRules.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/FallbackRules.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/FallbackRules.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/MiscColumnarRules.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/MiscColumnarRules.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/MiscColumnarRules.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/MiscColumnarRules.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/OffloadSingleNode.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/OffloadSingleNode.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/OffloadSingleNode.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/OffloadSingleNode.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/RemoveNativeWriteFilesSortAndProject.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/RemoveNativeWriteFilesSortAndProject.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/RemoveNativeWriteFilesSortAndProject.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/RemoveNativeWriteFilesSortAndProject.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/RewriteTransformer.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/RewriteTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/RewriteTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/RewriteTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/EnumeratedApplier.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/EnumeratedApplier.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/EnumeratedApplier.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/EnumeratedApplier.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/EnumeratedTransform.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/EnumeratedTransform.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/EnumeratedTransform.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/EnumeratedTransform.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/PushFilterToScan.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/PushFilterToScan.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/PushFilterToScan.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/PushFilterToScan.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffload.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffload.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffload.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffload.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadFilter.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadFilter.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadFilter.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadFilter.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadHashAggregate.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadHashAggregate.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadHashAggregate.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadHashAggregate.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadProject.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadProject.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadProject.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RasOffloadProject.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RemoveFilter.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RemoveFilter.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RemoveFilter.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RemoveFilter.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RemoveSort.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RemoveSort.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RemoveSort.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/enumerated/RemoveSort.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/heuristic/HeuristicApplier.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/heuristic/HeuristicApplier.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/heuristic/HeuristicApplier.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/heuristic/HeuristicApplier.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/PullOutPostProject.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/PullOutPostProject.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/PullOutPostProject.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/PullOutPostProject.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/PullOutPreProject.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/PullOutPreProject.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/PullOutPreProject.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/PullOutPreProject.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteIn.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteIn.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteIn.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteIn.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteJoin.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteJoin.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteJoin.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteJoin.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteMultiChildrenCount.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteMultiChildrenCount.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteMultiChildrenCount.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteMultiChildrenCount.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteSingleNode.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteSingleNode.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteSingleNode.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteSingleNode.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteSparkPlanRulesManager.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteSparkPlanRulesManager.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteSparkPlanRulesManager.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/rewrite/RewriteSparkPlanRulesManager.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/Convention.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/Convention.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/Convention.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/Convention.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/ConventionFunc.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/ConventionFunc.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/ConventionFunc.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/ConventionFunc.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/ConventionReq.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/ConventionReq.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/ConventionReq.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/ConventionReq.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/Transition.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/Transition.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/Transition.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/Transition.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/Transitions.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/Transitions.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/Transitions.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/Transitions.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/package.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/package.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/transition/package.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/transition/package.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/util/AdaptiveContext.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/util/AdaptiveContext.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/util/AdaptiveContext.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/util/AdaptiveContext.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/validator/FallbackInjects.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/validator/FallbackInjects.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/validator/FallbackInjects.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/validator/FallbackInjects.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/validator/Validator.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/validator/Validator.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/validator/Validator.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/validator/Validator.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/columnar/validator/Validators.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/validator/Validators.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/columnar/validator/Validators.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/columnar/validator/Validators.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/injector/GlutenInjector.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/injector/GlutenInjector.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/injector/GlutenInjector.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/injector/GlutenInjector.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/injector/RuleInjector.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/injector/RuleInjector.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/injector/RuleInjector.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/injector/RuleInjector.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/extension/injector/SparkInjector.scala b/gluten-substrait/src/main/scala/org/apache/gluten/extension/injector/SparkInjector.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/extension/injector/SparkInjector.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/extension/injector/SparkInjector.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/gluten.scala b/gluten-substrait/src/main/scala/org/apache/gluten/gluten.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/gluten.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/gluten.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/metrics/MetricsUpdater.scala b/gluten-substrait/src/main/scala/org/apache/gluten/metrics/MetricsUpdater.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/metrics/MetricsUpdater.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/metrics/MetricsUpdater.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/GlutenOptimization.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/GlutenOptimization.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/GlutenOptimization.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/GlutenOptimization.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/cost/GlutenCost.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/cost/GlutenCost.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/cost/GlutenCost.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/cost/GlutenCost.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/cost/GlutenCostModel.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/cost/GlutenCostModel.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/cost/GlutenCostModel.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/cost/GlutenCostModel.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/cost/LegacyCostModel.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/cost/LegacyCostModel.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/cost/LegacyCostModel.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/cost/LegacyCostModel.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/cost/LongCostModel.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/cost/LongCostModel.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/cost/LongCostModel.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/cost/LongCostModel.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/cost/RoughCostModel.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/cost/RoughCostModel.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/cost/RoughCostModel.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/cost/RoughCostModel.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/metadata/GlutenMetadata.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/metadata/GlutenMetadata.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/metadata/GlutenMetadata.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/metadata/GlutenMetadata.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/metadata/GlutenMetadataModel.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/metadata/GlutenMetadataModel.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/metadata/GlutenMetadataModel.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/metadata/GlutenMetadataModel.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/metadata/LogicalLink.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/metadata/LogicalLink.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/metadata/LogicalLink.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/metadata/LogicalLink.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/metadata/Schema.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/metadata/Schema.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/metadata/Schema.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/metadata/Schema.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/plan/GlutenPlanModel.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/plan/GlutenPlanModel.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/plan/GlutenPlanModel.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/plan/GlutenPlanModel.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/property/Conv.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/property/Conv.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/property/Conv.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/property/Conv.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/planner/property/GlutenPropertyModel.scala b/gluten-substrait/src/main/scala/org/apache/gluten/planner/property/GlutenPropertyModel.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/planner/property/GlutenPropertyModel.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/planner/property/GlutenPropertyModel.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/softaffinity/SoftAffinityManager.scala b/gluten-substrait/src/main/scala/org/apache/gluten/softaffinity/SoftAffinityManager.scala
similarity index 97%
rename from gluten-core/src/main/scala/org/apache/gluten/softaffinity/SoftAffinityManager.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/softaffinity/SoftAffinityManager.scala
index dd82807e3454..222c7f91e34c 100644
--- a/gluten-core/src/main/scala/org/apache/gluten/softaffinity/SoftAffinityManager.scala
+++ b/gluten-substrait/src/main/scala/org/apache/gluten/softaffinity/SoftAffinityManager.scala
@@ -42,6 +42,13 @@ abstract class AffinityManager extends LogLevelUtil with Logging {
lazy val minOnTargetHosts: Int = GlutenConfig.GLUTEN_SOFT_AFFINITY_MIN_TARGET_HOSTS_DEFAULT_VALUE
+ lazy val usingSoftAffinity: Boolean = true
+
+ lazy val detectDuplicateReading: Boolean = true
+
+ lazy val duplicateReadingMaxCacheItems: Int =
+ GlutenConfig.GLUTEN_SOFT_AFFINITY_DUPLICATE_READING_MAX_CACHE_ITEMS_DEFAULT_VALUE
+
// (execId, host) list
val fixedIdForExecutors = new mutable.ListBuffer[Option[(String, String)]]()
// host list
@@ -49,15 +56,8 @@ abstract class AffinityManager extends LogLevelUtil with Logging {
protected val totalRegisteredExecutors = new AtomicInteger(0)
- lazy val usingSoftAffinity: Boolean = true
-
lazy val logLevel: String = GlutenConfig.getConf.softAffinityLogLevel
- lazy val detectDuplicateReading = true
-
- lazy val duplicateReadingMaxCacheItems =
- GlutenConfig.GLUTEN_SOFT_AFFINITY_DUPLICATE_READING_MAX_CACHE_ITEMS_DEFAULT_VALUE
-
// rdd id -> patition id, file path, start, length
val rddPartitionInfoMap: LoadingCache[Integer, Array[(Int, String, Long, Long)]] =
CacheBuilder
@@ -310,13 +310,13 @@ object SoftAffinityManager extends AffinityManager {
GlutenConfig.GLUTEN_SOFT_AFFINITY_MIN_TARGET_HOSTS_DEFAULT_VALUE
)
- override lazy val detectDuplicateReading = SparkEnv.get.conf.getBoolean(
+ override lazy val detectDuplicateReading: Boolean = SparkEnv.get.conf.getBoolean(
GlutenConfig.GLUTEN_SOFT_AFFINITY_DUPLICATE_READING_DETECT_ENABLED,
GlutenConfig.GLUTEN_SOFT_AFFINITY_DUPLICATE_READING_DETECT_ENABLED_DEFAULT_VALUE
) &&
SparkShimLoader.getSparkShims.supportDuplicateReadingTracking
- override lazy val duplicateReadingMaxCacheItems = SparkEnv.get.conf.getInt(
+ override lazy val duplicateReadingMaxCacheItems: Int = SparkEnv.get.conf.getInt(
GlutenConfig.GLUTEN_SOFT_AFFINITY_DUPLICATE_READING_MAX_CACHE_ITEMS,
GlutenConfig.GLUTEN_SOFT_AFFINITY_DUPLICATE_READING_MAX_CACHE_ITEMS_DEFAULT_VALUE
)
diff --git a/gluten-core/src/main/scala/org/apache/gluten/softaffinity/scheduler/SoftAffinityListener.scala b/gluten-substrait/src/main/scala/org/apache/gluten/softaffinity/scheduler/SoftAffinityListener.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/softaffinity/scheduler/SoftAffinityListener.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/softaffinity/scheduler/SoftAffinityListener.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/softaffinity/strategy/SoftAffinityAllocationTrait.scala b/gluten-substrait/src/main/scala/org/apache/gluten/softaffinity/strategy/SoftAffinityAllocationTrait.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/softaffinity/strategy/SoftAffinityAllocationTrait.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/softaffinity/strategy/SoftAffinityAllocationTrait.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/softaffinity/strategy/SoftAffinityStrategy.scala b/gluten-substrait/src/main/scala/org/apache/gluten/softaffinity/strategy/SoftAffinityStrategy.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/softaffinity/strategy/SoftAffinityStrategy.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/softaffinity/strategy/SoftAffinityStrategy.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/substrait/SubstraitContext.scala b/gluten-substrait/src/main/scala/org/apache/gluten/substrait/SubstraitContext.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/substrait/SubstraitContext.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/substrait/SubstraitContext.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/DebugUtil.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/DebugUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/DebugUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/DebugUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/DecimalArithmeticUtil.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/DecimalArithmeticUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/DecimalArithmeticUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/DecimalArithmeticUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/FileIndexUtil.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/FileIndexUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/FileIndexUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/FileIndexUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/InputPartitionsUtil.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/InputPartitionsUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/InputPartitionsUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/InputPartitionsUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/LogLevelUtil.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/LogLevelUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/LogLevelUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/LogLevelUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/PlanUtil.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/PlanUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/PlanUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/PlanUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/PullOutProjectHelper.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/PullOutProjectHelper.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/PullOutProjectHelper.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/PullOutProjectHelper.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/QueryPlanSelector.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/QueryPlanSelector.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/QueryPlanSelector.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/QueryPlanSelector.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/SubstraitPlanPrinterUtil.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/SubstraitPlanPrinterUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/SubstraitPlanPrinterUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/SubstraitPlanPrinterUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/SubstraitUtil.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/SubstraitUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/SubstraitUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/SubstraitUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/TaskListener.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/TaskListener.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/TaskListener.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/TaskListener.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/iterator/Iterators.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/iterator/Iterators.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/iterator/Iterators.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/iterator/Iterators.scala
diff --git a/gluten-core/src/main/scala/org/apache/gluten/utils/iterator/IteratorsV1.scala b/gluten-substrait/src/main/scala/org/apache/gluten/utils/iterator/IteratorsV1.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/gluten/utils/iterator/IteratorsV1.scala
rename to gluten-substrait/src/main/scala/org/apache/gluten/utils/iterator/IteratorsV1.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/HdfsConfGenerator.scala b/gluten-substrait/src/main/scala/org/apache/spark/HdfsConfGenerator.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/HdfsConfGenerator.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/HdfsConfGenerator.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/listener/GlutenListenerFactory.scala b/gluten-substrait/src/main/scala/org/apache/spark/listener/GlutenListenerFactory.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/listener/GlutenListenerFactory.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/listener/GlutenListenerFactory.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/memory/SparkMemoryUtil.scala b/gluten-substrait/src/main/scala/org/apache/spark/memory/SparkMemoryUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/memory/SparkMemoryUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/memory/SparkMemoryUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/shuffle/ColumnarShuffleDependency.scala b/gluten-substrait/src/main/scala/org/apache/spark/shuffle/ColumnarShuffleDependency.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/shuffle/ColumnarShuffleDependency.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/shuffle/ColumnarShuffleDependency.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/shuffle/GlutenShuffleUtils.scala b/gluten-substrait/src/main/scala/org/apache/spark/shuffle/GlutenShuffleUtils.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/shuffle/GlutenShuffleUtils.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/shuffle/GlutenShuffleUtils.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/shuffle/GlutenShuffleWriterWrapper.scala b/gluten-substrait/src/main/scala/org/apache/spark/shuffle/GlutenShuffleWriterWrapper.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/shuffle/GlutenShuffleWriterWrapper.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/shuffle/GlutenShuffleWriterWrapper.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/shuffle/sort/ColumnarShuffleManager.scala b/gluten-substrait/src/main/scala/org/apache/spark/shuffle/sort/ColumnarShuffleManager.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/shuffle/sort/ColumnarShuffleManager.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/shuffle/sort/ColumnarShuffleManager.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/softaffinity/SoftAffinity.scala b/gluten-substrait/src/main/scala/org/apache/spark/softaffinity/SoftAffinity.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/softaffinity/SoftAffinity.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/softaffinity/SoftAffinity.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/catalyst/expressions/JsonTupleExplode.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/catalyst/expressions/JsonTupleExplode.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/catalyst/expressions/JsonTupleExplode.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/catalyst/expressions/JsonTupleExplode.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/catalyst/expressions/PreComputeRangeFrameBound.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/catalyst/expressions/PreComputeRangeFrameBound.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/catalyst/expressions/PreComputeRangeFrameBound.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/catalyst/expressions/PreComputeRangeFrameBound.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/CountDistinct.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/CountDistinct.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/CountDistinct.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/CountDistinct.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/ColumnarBroadcastExchangeExec.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ColumnarBroadcastExchangeExec.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/ColumnarBroadcastExchangeExec.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ColumnarBroadcastExchangeExec.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/ColumnarCollapseTransformStages.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ColumnarCollapseTransformStages.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/ColumnarCollapseTransformStages.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ColumnarCollapseTransformStages.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/ColumnarShuffleExchangeExec.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ColumnarShuffleExchangeExec.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/ColumnarShuffleExchangeExec.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ColumnarShuffleExchangeExec.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/ColumnarSubqueryBroadcastExec.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ColumnarSubqueryBroadcastExec.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/ColumnarSubqueryBroadcastExec.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ColumnarSubqueryBroadcastExec.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/ColumnarWriteFilesExec.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ColumnarWriteFilesExec.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/ColumnarWriteFilesExec.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ColumnarWriteFilesExec.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/GlutenExplainUtils.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/GlutenExplainUtils.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/GlutenExplainUtils.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/GlutenExplainUtils.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/GlutenFallbackReporter.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/GlutenFallbackReporter.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/GlutenFallbackReporter.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/GlutenFallbackReporter.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/GlutenImplicits.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/GlutenImplicits.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/GlutenImplicits.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/GlutenImplicits.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/InputFileBlockHolderProxy.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/InputFileBlockHolderProxy.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/InputFileBlockHolderProxy.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/InputFileBlockHolderProxy.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/ShuffledColumnarBatchRDD.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ShuffledColumnarBatchRDD.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/ShuffledColumnarBatchRDD.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/ShuffledColumnarBatchRDD.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/datasources/GlutenFormatWriterInjectsBase.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/datasources/GlutenFormatWriterInjectsBase.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/datasources/GlutenFormatWriterInjectsBase.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/datasources/GlutenFormatWriterInjectsBase.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/datasources/GlutenWriterColumnarRules.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/datasources/GlutenWriterColumnarRules.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/datasources/GlutenWriterColumnarRules.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/datasources/GlutenWriterColumnarRules.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/joins/BuildSideRelation.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/joins/BuildSideRelation.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/joins/BuildSideRelation.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/joins/BuildSideRelation.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/execution/python/EvalPythonExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/execution/python/EvalPythonExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/execution/python/EvalPythonExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/execution/python/EvalPythonExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/hive/HivePartitionConverter.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/hive/HivePartitionConverter.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/hive/HivePartitionConverter.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/hive/HivePartitionConverter.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/hive/HiveTableScanExecTransformer.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/hive/HiveTableScanExecTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/hive/HiveTableScanExecTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/hive/HiveTableScanExecTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/hive/HiveUDFTransformer.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/hive/HiveUDFTransformer.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/hive/HiveUDFTransformer.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/hive/HiveUDFTransformer.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/metric/SQLColumnarShuffleMetricsReporter.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/metric/SQLColumnarShuffleMetricsReporter.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/metric/SQLColumnarShuffleMetricsReporter.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/metric/SQLColumnarShuffleMetricsReporter.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/utils/DecimalTypeUtil.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/utils/DecimalTypeUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/utils/DecimalTypeUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/utils/DecimalTypeUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/utils/ReflectionUtil.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/utils/ReflectionUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/utils/ReflectionUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/utils/ReflectionUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/utils/SparkInputMetricsUtil.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/utils/SparkInputMetricsUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/utils/SparkInputMetricsUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/utils/SparkInputMetricsUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/sql/utils/StructTypeFWD.scala b/gluten-substrait/src/main/scala/org/apache/spark/sql/utils/StructTypeFWD.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/sql/utils/StructTypeFWD.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/sql/utils/StructTypeFWD.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/util/ExecutorManager.scala b/gluten-substrait/src/main/scala/org/apache/spark/util/ExecutorManager.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/util/ExecutorManager.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/util/ExecutorManager.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/util/GlutenShutdownManager.scala b/gluten-substrait/src/main/scala/org/apache/spark/util/GlutenShutdownManager.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/util/GlutenShutdownManager.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/util/GlutenShutdownManager.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/util/SparkDirectoryUtil.scala b/gluten-substrait/src/main/scala/org/apache/spark/util/SparkDirectoryUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/util/SparkDirectoryUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/util/SparkDirectoryUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/util/SparkPlanRules.scala b/gluten-substrait/src/main/scala/org/apache/spark/util/SparkPlanRules.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/util/SparkPlanRules.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/util/SparkPlanRules.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/util/SparkResourceUtil.scala b/gluten-substrait/src/main/scala/org/apache/spark/util/SparkResourceUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/util/SparkResourceUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/util/SparkResourceUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/util/SparkTaskUtil.scala b/gluten-substrait/src/main/scala/org/apache/spark/util/SparkTaskUtil.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/util/SparkTaskUtil.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/util/SparkTaskUtil.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/util/TaskResource.scala b/gluten-substrait/src/main/scala/org/apache/spark/util/TaskResource.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/util/TaskResource.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/util/TaskResource.scala
diff --git a/gluten-core/src/main/scala/org/apache/spark/util/TaskResources.scala b/gluten-substrait/src/main/scala/org/apache/spark/util/TaskResources.scala
similarity index 100%
rename from gluten-core/src/main/scala/org/apache/spark/util/TaskResources.scala
rename to gluten-substrait/src/main/scala/org/apache/spark/util/TaskResources.scala
diff --git a/gluten-core/src/test/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumerTest.java b/gluten-substrait/src/test/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumerTest.java
similarity index 100%
rename from gluten-core/src/test/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumerTest.java
rename to gluten-substrait/src/test/java/org/apache/gluten/memory/memtarget/spark/TreeMemoryConsumerTest.java
diff --git a/gluten-core/src/test/scala/org/apache/gluten/benchmarks/RandomParquetDataGenerator.scala b/gluten-substrait/src/test/scala/org/apache/gluten/benchmarks/RandomParquetDataGenerator.scala
similarity index 100%
rename from gluten-core/src/test/scala/org/apache/gluten/benchmarks/RandomParquetDataGenerator.scala
rename to gluten-substrait/src/test/scala/org/apache/gluten/benchmarks/RandomParquetDataGenerator.scala
diff --git a/gluten-core/src/test/scala/org/apache/gluten/execution/WholeStageTransformerSuite.scala b/gluten-substrait/src/test/scala/org/apache/gluten/execution/WholeStageTransformerSuite.scala
similarity index 100%
rename from gluten-core/src/test/scala/org/apache/gluten/execution/WholeStageTransformerSuite.scala
rename to gluten-substrait/src/test/scala/org/apache/gluten/execution/WholeStageTransformerSuite.scala
diff --git a/gluten-core/src/test/scala/org/apache/gluten/extension/columnar/transition/TransitionSuite.scala b/gluten-substrait/src/test/scala/org/apache/gluten/extension/columnar/transition/TransitionSuite.scala
similarity index 100%
rename from gluten-core/src/test/scala/org/apache/gluten/extension/columnar/transition/TransitionSuite.scala
rename to gluten-substrait/src/test/scala/org/apache/gluten/extension/columnar/transition/TransitionSuite.scala
diff --git a/gluten-core/src/test/scala/org/apache/gluten/test/FallbackUtil.scala b/gluten-substrait/src/test/scala/org/apache/gluten/test/FallbackUtil.scala
similarity index 100%
rename from gluten-core/src/test/scala/org/apache/gluten/test/FallbackUtil.scala
rename to gluten-substrait/src/test/scala/org/apache/gluten/test/FallbackUtil.scala
diff --git a/gluten-core/src/test/scala/org/apache/gluten/utils/TaskResourceSuite.scala b/gluten-substrait/src/test/scala/org/apache/gluten/utils/TaskResourceSuite.scala
similarity index 100%
rename from gluten-core/src/test/scala/org/apache/gluten/utils/TaskResourceSuite.scala
rename to gluten-substrait/src/test/scala/org/apache/gluten/utils/TaskResourceSuite.scala
diff --git a/gluten-core/src/test/scala/org/apache/gluten/utils/iterator/IteratorSuite.scala b/gluten-substrait/src/test/scala/org/apache/gluten/utils/iterator/IteratorSuite.scala
similarity index 100%
rename from gluten-core/src/test/scala/org/apache/gluten/utils/iterator/IteratorSuite.scala
rename to gluten-substrait/src/test/scala/org/apache/gluten/utils/iterator/IteratorSuite.scala
diff --git a/gluten-core/src/test/scala/org/apache/spark/softaffinity/SoftAffinitySuite.scala b/gluten-substrait/src/test/scala/org/apache/spark/softaffinity/SoftAffinitySuite.scala
similarity index 100%
rename from gluten-core/src/test/scala/org/apache/spark/softaffinity/SoftAffinitySuite.scala
rename to gluten-substrait/src/test/scala/org/apache/spark/softaffinity/SoftAffinitySuite.scala
diff --git a/gluten-core/src/test/scala/org/apache/spark/softaffinity/SoftAffinityWithRDDInfoSuite.scala b/gluten-substrait/src/test/scala/org/apache/spark/softaffinity/SoftAffinityWithRDDInfoSuite.scala
similarity index 98%
rename from gluten-core/src/test/scala/org/apache/spark/softaffinity/SoftAffinityWithRDDInfoSuite.scala
rename to gluten-substrait/src/test/scala/org/apache/spark/softaffinity/SoftAffinityWithRDDInfoSuite.scala
index 2328900da76a..55f25309dc5e 100644
--- a/gluten-core/src/test/scala/org/apache/spark/softaffinity/SoftAffinityWithRDDInfoSuite.scala
+++ b/gluten-substrait/src/test/scala/org/apache/spark/softaffinity/SoftAffinityWithRDDInfoSuite.scala
@@ -38,9 +38,9 @@ object FakeSoftAffinityManager extends AffinityManager {
override lazy val minOnTargetHosts: Int = 1
- override lazy val detectDuplicateReading = true
+ override lazy val detectDuplicateReading: Boolean = true
- override lazy val duplicateReadingMaxCacheItems = 1
+ override lazy val duplicateReadingMaxCacheItems: Int = 1
}
class SoftAffinityWithRDDInfoSuite extends QueryTest with SharedSparkSession with PredicateHelper {
diff --git a/gluten-core/src/test/scala/org/apache/spark/sql/GlutenQueryTest.scala b/gluten-substrait/src/test/scala/org/apache/spark/sql/GlutenQueryTest.scala
similarity index 100%
rename from gluten-core/src/test/scala/org/apache/spark/sql/GlutenQueryTest.scala
rename to gluten-substrait/src/test/scala/org/apache/spark/sql/GlutenQueryTest.scala
diff --git a/gluten-core/src/test/scala/org/apache/spark/sql/TestUtils.scala b/gluten-substrait/src/test/scala/org/apache/spark/sql/TestUtils.scala
similarity index 100%
rename from gluten-core/src/test/scala/org/apache/spark/sql/TestUtils.scala
rename to gluten-substrait/src/test/scala/org/apache/spark/sql/TestUtils.scala
diff --git a/gluten-core/src/test/scala/org/apache/spark/utils/iterator/IteratorBenchmark.scala b/gluten-substrait/src/test/scala/org/apache/spark/utils/iterator/IteratorBenchmark.scala
similarity index 100%
rename from gluten-core/src/test/scala/org/apache/spark/utils/iterator/IteratorBenchmark.scala
rename to gluten-substrait/src/test/scala/org/apache/spark/utils/iterator/IteratorBenchmark.scala
diff --git a/gluten-uniffle/pom.xml b/gluten-uniffle/pom.xml
index 5ad8c9119949..b7fe4c2e4268 100644
--- a/gluten-uniffle/pom.xml
+++ b/gluten-uniffle/pom.xml
@@ -33,7 +33,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
provided
diff --git a/gluten-ut/pom.xml b/gluten-ut/pom.xml
index a016eccaed20..db6123cdac4a 100644
--- a/gluten-ut/pom.xml
+++ b/gluten-ut/pom.xml
@@ -34,17 +34,17 @@
Gluten Unit Test Parent
-
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
compile
org.apache.gluten
- gluten-core
+ gluten-substrait
${project.version}
test-jar
test
diff --git a/pom.xml b/pom.xml
index 991ff835dcb4..f5fd01d12232 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,6 +43,7 @@
gluten-core
+ gluten-substrait
gluten-ui
package
shims
diff --git a/tools/gluten-it/pom.xml b/tools/gluten-it/pom.xml
index 8ed074af78e9..cff7a78eb097 100644
--- a/tools/gluten-it/pom.xml
+++ b/tools/gluten-it/pom.xml
@@ -38,7 +38,7 @@
org.apache.gluten
- gluten-core
+ gluten-substrait
runtime