[cherry-pick](branch-2.1) Improve local shuffle strategy (#40030)

pick #34122 #35454 #35716 #37195
This commit is contained in:
Gabriel
2024-08-29 14:16:16 +08:00
committed by GitHub
parent 34d95cef1f
commit 7155711431
24 changed files with 121 additions and 40 deletions

View File

@ -22,6 +22,7 @@ import org.apache.doris.analysis.TupleDescriptor;
import org.apache.doris.common.NereidsException;
import org.apache.doris.common.UserException;
import org.apache.doris.datasource.ExternalScanNode;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.statistics.StatisticalType;
import org.apache.doris.tablefunction.DataGenTableValuedFunction;
import org.apache.doris.tablefunction.TableValuedFunctionTask;
@ -116,6 +117,14 @@ public class DataGenScanNode extends ExternalScanNode {
// by multi-processes or multi-threads. So we assign instance number to 1.
@Override
public int getNumInstances() {
if (ConnectContext.get().getSessionVariable().isIgnoreStorageDataDistribution()) {
return ConnectContext.get().getSessionVariable().getParallelExecInstanceNum();
}
return 1;
}
@Override
public int getScanRangeNum() {
return 1;
}