| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| syntax = 'proto3'; |
| |
| package spark.connect; |
| |
| option java_multiple_files = true; |
| option java_package = "org.apache.kyuubi.shaded.spark.connect.proto"; |
| option go_package = "internal/generated"; |
| |
| // StorageLevel for persisting Datasets/Tables. |
| message StorageLevel { |
| // (Required) Whether the cache should use disk or not. |
| bool use_disk = 1; |
| // (Required) Whether the cache should use memory or not. |
| bool use_memory = 2; |
| // (Required) Whether the cache should use off-heap or not. |
| bool use_off_heap = 3; |
| // (Required) Whether the cached data is deserialized or not. |
| bool deserialized = 4; |
| // (Required) The number of replicas. |
| int32 replication = 5; |
| } |
| |
| |
| // ResourceInformation to hold information about a type of Resource. |
| // The corresponding class is 'org.apache.spark.resource.ResourceInformation' |
| message ResourceInformation { |
| // (Required) The name of the resource |
| string name = 1; |
| // (Required) An array of strings describing the addresses of the resource. |
| repeated string addresses = 2; |
| } |
| |
| // An executor resource request. |
| message ExecutorResourceRequest { |
| // (Required) resource name. |
| string resource_name = 1; |
| |
| // (Required) resource amount requesting. |
| int64 amount = 2; |
| |
| // Optional script used to discover the resources. |
| optional string discovery_script = 3; |
| |
| // Optional vendor, required for some cluster managers. |
| optional string vendor = 4; |
| } |
| |
| // A task resource request. |
| message TaskResourceRequest { |
| // (Required) resource name. |
| string resource_name = 1; |
| |
| // (Required) resource amount requesting as a double to support fractional |
| // resource requests. |
| double amount = 2; |
| } |
| |
| message ResourceProfile { |
| // (Optional) Resource requests for executors. Mapped from the resource name |
| // (e.g., cores, memory, CPU) to its specific request. |
| map<string, ExecutorResourceRequest> executor_resources = 1; |
| |
| // (Optional) Resource requests for tasks. Mapped from the resource name |
| // (e.g., cores, memory, CPU) to its specific request. |
| map<string, TaskResourceRequest> task_resources = 2; |
| } |
| |
| message Origin { |
| // (Required) Indicate the origin type. |
| oneof function { |
| PythonOrigin python_origin = 1; |
| } |
| } |
| |
| message PythonOrigin { |
| // (Required) Name of the origin, for example, the name of the function |
| string fragment = 1; |
| |
| // (Required) Callsite to show to end users, for example, stacktrace. |
| string call_site = 2; |
| } |