La diferencia entre los programas de envío Spark-shell y Spark-submit
En lo que respecta al programa de envío de Spark, finalmente se implementa a través del comando Spark-submit. La diferencia entre los dos es que Spark-Shell realizará algunas configuraciones de parámetros iniciales cuando se ejecute y luego llamará. Sparksubmit se ejecuta, mientras que spark -shell es interactivo.
Explíquelo desde la perspectiva del código fuente.
Primero mire el comando Spark-Shell, llamará al método principal
En el método principal, llamará a spark-submit y pasará el parámetro -class (clase de entrada) como org. apache.spark.repl. el nombre de la aplicación "Spark shell" pasa en todos los parámetros $@ recibidos por spark-shell.
En Spark-submit, inicia el proceso a través del comando exec, como se muestra a continuación:
Resumen: el envío final de la aplicación utilizada se completa con spark-submit, otro programa. las llamadas solo establecen los parámetros de spark-submit después de llamar a spark-submit, completando así el envío de la aplicación al clúster.