diff options
| author | hor911 <[email protected]> | 2023-08-30 22:07:10 +0300 |
|---|---|---|
| committer | hor911 <[email protected]> | 2023-08-30 22:30:38 +0300 |
| commit | b252459d58a3fc1a10fa18b1c7c339852b751969 (patch) | |
| tree | 5c491df960a0e5f89655b6ce9c9e4b40d8022a75 | |
| parent | 905fc8f01a904a13c0466f458a5d05205f15ea1d (diff) | |
Partition (S3) to up to 120 ranges
| -rw-r--r-- | ydb/core/kqp/query_compiler/kqp_query_compiler.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ydb/core/kqp/query_compiler/kqp_query_compiler.cpp b/ydb/core/kqp/query_compiler/kqp_query_compiler.cpp index 84f448d36f5..0fb3a270589 100644 --- a/ydb/core/kqp/query_compiler/kqp_query_compiler.cpp +++ b/ydb/core/kqp/query_compiler/kqp_query_compiler.cpp @@ -894,7 +894,14 @@ private: // Partitioning TVector<TString> partitionParams; TString clusterName; - dqIntegration->Partition(NYql::TDqSettings(), NYql::TDqSettings::TDefault::MaxTasksPerStage, source.Ref(), partitionParams, &clusterName, ctx, false); + // In runtime, number of tasks with Sources is limited by 2x of node count + // We prepare a lot of partitions and distribute them between these tasks + // Constraint of 1 task per partition is NOT valid anymore + // We choose 120 as number with a lot of divisors for even final distribution + // + // TODO: Replace with ydb.MaxTasksPerStage when implemented + // + dqIntegration->Partition(NYql::TDqSettings(), 120, source.Ref(), partitionParams, &clusterName, ctx, false); externalSource.SetTaskParamKey(TString(dataSourceCategory)); for (const TString& partitionParam : partitionParams) { externalSource.AddPartitionedTaskParams(partitionParam); |
