aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2025-02-26 21:28:26 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2025-02-26 21:39:04 +0300
commitc816d734c96968d30cf63954009ec4a73b6ec789 (patch)
treef935a9ab37ea41d8b23e30172fd36b0719b18aa7
parent73f2e377bb4a5061f08f495a61340b482d355565 (diff)
downloadydb-c816d734c96968d30cf63954009ec4a73b6ec789.tar.gz
Intermediate changes
commit_hash:e18a239f7b892af4d53c13670fad31ffae66aabb
-rw-r--r--yt/yql/providers/yt/fmr/request_options/yql_yt_request_options.h95
1 files changed, 87 insertions, 8 deletions
diff --git a/yt/yql/providers/yt/fmr/request_options/yql_yt_request_options.h b/yt/yql/providers/yt/fmr/request_options/yql_yt_request_options.h
index de3e42a41e..b423021a71 100644
--- a/yt/yql/providers/yt/fmr/request_options/yql_yt_request_options.h
+++ b/yt/yql/providers/yt/fmr/request_options/yql_yt_request_options.h
@@ -1,5 +1,6 @@
#pragma once
+#include <util/digest/numeric.h>
#include <util/generic/maybe.h>
#include <util/generic/string.h>
#include <vector>
@@ -50,9 +51,6 @@ struct TError {
TString ErrorMessage;
};
-struct TStatistics {
-};
-
struct TYtTableRef {
TString Path;
TString Cluster;
@@ -63,24 +61,104 @@ struct TFmrTableRef {
TString TableId;
};
+struct TTableRange {
+ TString PartId;
+ ui64 MinChunk = 0;
+ ui64 MaxChunk;
+};
+
+struct TFmrTableInputRef {
+ TString TableId;
+ std::vector<TTableRange> TableRanges;
+};
+
+struct TFmrTableOutputRef {
+ TString TableId;
+ TString PartId;
+
+ bool operator==(const TFmrTableOutputRef&) const = default;
+};
+
+struct TTableStats {
+ ui64 Chunks = 0;
+ ui64 Rows;
+ ui64 DataWeight;
+};
+
+} // namespace NYql::NFmr
+
+namespace std {
+ template<>
+ struct hash<NYql::NFmr::TFmrTableOutputRef> {
+ size_t operator()(const NYql::NFmr::TFmrTableOutputRef& ref) const {
+ return CombineHashes(hash<TString>()(ref.TableId), hash<TString>()(ref.PartId));
+ }
+ };
+}
+
+namespace NYql::NFmr {
+
+struct TStatistics {
+ std::unordered_map<TFmrTableOutputRef, TTableStats> OutputTables;
+};
+
+//пока оставляем и со старым названием, чтобы тесты не падали, но после рефактора надо будет убрать
using TTableRef = std::variant<TYtTableRef, TFmrTableRef>;
-struct TUploadTaskParams {
+using TOperationTableRef = std::variant<TYtTableRef, TFmrTableRef>;
+
+using TTaskTableRef = std::variant<TYtTableRef, TFmrTableInputRef, TFmrTableOutputRef>;
+
+struct TUploadOperationParams {
+ TFmrTableRef Input;
+ TYtTableRef Output;
+};
+
+struct TUploadTaskParams { // DEPRECATED TODO REMOVE
TFmrTableRef Input;
TYtTableRef Output;
};
-struct TDownloadTaskParams {
+struct TUploadTaskParamsNew {
+ TFmrTableInputRef Input;
+ TYtTableRef Output;
+};
+
+struct TDownloadOperationParams {
+ TYtTableRef Input;
+ TFmrTableRef Output;
+};
+
+struct TDownloadTaskParams { // DEPRECATED TODO REMOVE
TYtTableRef Input;
TFmrTableRef Output;
};
-struct TMergeTaskParams {
- std::vector<TTableRef> Input;
+struct TDownloadTaskParamsNew {
+ TYtTableRef Input;
+ TFmrTableOutputRef Output;
+};
+
+struct TMergeOperationParams {
+ std::vector<TOperationTableRef> Input;
TFmrTableRef Output;
};
-using TTaskParams = std::variant<TUploadTaskParams, TDownloadTaskParams, TMergeTaskParams>;
+struct TMergeTaskParams { // DEPRECATED TODO REMOVE
+ std::vector<TOperationTableRef> Input;
+ TFmrTableRef Output;
+};
+
+struct TMergeTaskParamsNew {
+ std::vector<TTaskTableRef> Input;
+ TFmrTableOutputRef Output;
+};
+
+using TOperationParams = std::variant<TUploadOperationParams, TDownloadOperationParams, TMergeOperationParams>;
+
+using TTaskParams = std::variant<TUploadTaskParams, TDownloadTaskParams, TMergeTaskParams>; // DEPRECATED TODO REMOVE
+
+using TTaskParamsNew = std::variant<TUploadTaskParamsNew, TDownloadTaskParamsNew, TMergeTaskParamsNew>;
struct TTask: public TThrRefBase {
TTask() = default;
@@ -110,6 +188,7 @@ struct TTaskState: public TThrRefBase {
ETaskStatus TaskStatus;
TString TaskId;
TMaybe<TFmrError> TaskErrorMessage;
+ TStatistics Stats;
using TPtr = TIntrusivePtr<TTaskState>;
};