Github user andrewor14 commented on a diff in the pull request: https://github.com/apache/spark/pull/3916#discussion_r22841485 --- Diff: launcher/src/main/java/org/apache/spark/launcher/SparkSubmitCliLauncher.java --- @@ -0,0 +1,161 @@ +/* + * 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. + */ + +package org.apache.spark.launcher; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Special launcher for handling a CLI invocation of SparkSubmit. + * <p/> + * This launcher extends SparkLauncher to add command line parsing compatible with + * SparkSubmit. It handles setting driver-side options and special parsing needed + * for the different shells. + * <p/> + * This class has also some special features to aid PySparkLauncher. + */ +public class SparkSubmitCliLauncher extends SparkLauncher { + + /** + * This map must match the class names for available shells, since this modifies the way + * command line parsing works. This maps the shell class name to the resource to use when + * calling spark-submit. + */ + private static final Map<String, String> shells = new HashMap<String, String>(); + static { + shells.put("org.apache.spark.repl.Main", "spark-shell"); + shells.put("org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver", "spark-internal"); --- End diff -- not a shell. Maybe rename this to `specialClasses` or something?
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org