Выполнить спарк / Scala банку с помощью spark-submit против выполнения спарк банку с помощью java -jar - PullRequest
1 голос
/ 12 февраля 2020

Я столкнулся с интересным вопросом о том, что существуют разные способы подачи приложения spark из среды разработки windows. Как правило, мы отправляем задание spark, используя spark-submit, а также можем выполнить uber jar (зависимые библиотеки spark, собранные с помощью jar), используя команду java -jar

  • , используя java -jar: java -jar -Xmx1024m /home/myuser/myhar.jar
  • Команда с использованием s park-submit: spark-submit --master local[*] /home/myuser/myhar.jar

Поскольку я могу выполнить задание с использованием обоих методов, я заметил, что иногда java -jar метод быстрее, а иногда spark-submit быстрее для того же набора данных (скажем, 20000 строк с большим количеством данных для перетасовки данных внутри). spark-submit имеет лучшую опцию для управления исполнителями и памятью и т. д. c с помощью командной строки Аргумент, однако java -jar, метод, который нам нужно жестко кодировать внутри самого кода. Если мы запустим флягу с большим набором данных, java -jar выбрасывает исключение из памяти, в то время как spark-submit хотя и занимает время, но выполняется без ошибок с конфигурациями по умолчанию.

Я не смог бы понять разницу, отправив приложение, использующее spark-submit и java-jar, следовательно, мои вопросы:

Как происходит выполнение, когда мы подаем заявку, используя java-jar. Выполняется ли он внутри самой памяти jvm и не использует никаких искровых свойств?

...