summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors2m1 <[email protected]>2025-04-01 15:26:36 +0300
committers2m1 <[email protected]>2025-04-01 15:46:35 +0300
commitb37bd8f51311be59a0926065e85ac5d1ef2ff101 (patch)
tree029aa0a8fb348d2152cd8ec058c91c65ec47305d
parent15459267fcda53b29241b23b6fe98b1134986b53 (diff)
описание источника данных для Iceberg
commit_hash:f4f6b9142bae2e70559b0ee6ded54c577ffbad10
-rw-r--r--yql/essentials/providers/common/proto/gateways_config.proto53
1 files changed, 53 insertions, 0 deletions
diff --git a/yql/essentials/providers/common/proto/gateways_config.proto b/yql/essentials/providers/common/proto/gateways_config.proto
index 972e4303e0d..b2d02ab3097 100644
--- a/yql/essentials/providers/common/proto/gateways_config.proto
+++ b/yql/essentials/providers/common/proto/gateways_config.proto
@@ -598,6 +598,7 @@ enum EGenericDataSourceKind {
MONGO_DB = 10;
REDIS = 11;
PROMETHEUS = 12;
+ ICEBERG = 13;
}
// EGenericProtocol generalizes various kinds of network protocols supported by different databases.
@@ -671,6 +672,57 @@ message TMongoDbDataSourceOptions {
optional EUnsupportedTypeDisplayMode unsupported_type_display_mode = 3;
}
+// TIcebergCatalog represents settings specific to iceberg catalog
+message TIcebergCatalog {
+ // Hadoop Iceberg Catalog which is built on top of a storage
+ message THadoop {
+ }
+
+ // Hive Iceberg Catalog which is based on a Hive Metastore
+ message THive {
+ // Location of a hive metastore
+ // e.g., thrift://host:9083/
+ optional string uri = 1;
+ }
+
+ oneof payload {
+ THadoop hadoop = 1;
+ THive hive = 2;
+ }
+}
+
+// TIcebergWarehouse represents settings specific to iceberg warehouse
+message TIcebergWarehouse {
+ // Iceberg data located in a S3 storage
+ message TS3 {
+ // Data location in a storage
+ // e.g., s3a://iceberg-bucket/storage
+ optional string uri = 1;
+
+ // Endpoint to access a storage
+ // e.g., https://storage.yandexcloud.net
+ optional string endpoint = 2;
+
+ // Region where a storage is located
+ // e.g., ru-central1
+ optional string region = 3;
+ }
+
+ oneof payload {
+ TS3 s3 = 1;
+ }
+}
+
+// TIcebergDataSourceOptions represents settings specific
+// to Iceberg data source
+message TIcebergDataSourceOptions {
+ // Iceberg catalog
+ optional TIcebergCatalog catalog = 1;
+
+ // Iceberg warehouse
+ optional TIcebergWarehouse warehouse = 2;
+}
+
// TGenericDataSourceInstance helps to identify the instance of a data source to redirect request to.
message TGenericDataSourceInstance {
// Data source kind
@@ -696,6 +748,7 @@ message TGenericDataSourceInstance {
TOracleDataSourceOptions oracle_options = 11;
TLoggingDataSourceOptions logging_options = 12;
TMongoDbDataSourceOptions mongodb_options = 13;
+ TIcebergDataSourceOptions iceberg_options = 14;
}
}