In DistributedPlanner, do not add the unnecessary Exchanges. For case 1, we only need to judge that the table's distribute hash keys is a subset of the aggregate keys. For case 2, we should judge two conditions: - partition keys are also hash keys. - the table's distribute hash keys is a subset of the aggregate keys.
# fe-common This module is used to store some common classes of other modules. # spark-dpp This module is Spark DPP program, used for Spark Load function. Depends: fe-common # fe-core This module is the main process module of FE. Depends: fe-common, spark-dpp