You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by "WeichenXu123 (via GitHub)" <gi...@apache.org> on 2023/02/13 13:11:03 UTC

[GitHub] [spark] WeichenXu123 commented on a diff in pull request #39985: [SPARK-42412][WIP] Initial prototype implementation of PySpark ML via Spark connect

WeichenXu123 commented on code in PR #39985:
URL: https://github.com/apache/spark/pull/39985#discussion_r1104451588


##########
connector/connect/common/src/main/protobuf/spark/connect/ml.proto:
##########
@@ -0,0 +1,165 @@
+/*
+ * 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;
+
+import "spark/connect/relations.proto";
+
+option java_multiple_files = true;
+option java_package = "org.apache.spark.connect.proto";
+
+
+message RemoteCall {
+  oneof call_type {
+    ConstructObject construct_object = 1;
+    DestructObject destruct_object = 2;
+    CallMethod call_method = 3;
+    CallFunction call_function = 4;
+  }
+
+  message ArgValue {
+    oneof arg_type {
+      int32 int32_value = 1;
+      int64 int64_value = 2;
+      float float_value = 3;
+      double double_value = 4;
+      bool bool_value = 5;
+      string string_value = 6;
+      List list = 7;
+      Map map = 8;
+      Relation relation = 9;
+      RemoteObject remote_object = 10;
+    }
+  }
+
+  message List {
+    repeated ArgValue element = 1;
+  }
+  message Map {
+    map<string, ArgValue> map = 1;
+  }
+  message RemoteObject {
+    string id = 1;
+  }
+
+  message ConstructObject {
+    string className = 1;
+    repeated ArgValue values = 2;
+  }
+
+  message DestructObject {
+    RemoteObject remote_object = 1;
+  }
+
+  message CallMethod {
+    RemoteObject remote_object = 1;
+    string method_name = 2;
+    repeated ArgValue arg_values = 3;
+  }
+
+  message CallFunction {
+    string module_name = 1;
+    repeated ArgValue arg_values = 3;
+  }
+}
+
+
+message MlCommand {

Review Comment:
   Note:
   The PR is WIP,
   and I will remove the whole `MlCommand` message definition in following commits, we only need the `RemoteCall` message for ML cases.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org