2015-12-10 4 views
2

Я запускаю эту команду искры для запуска искровой программы Scala с использованием Hortonworks vm. Но как только работа будет завершена, она не выйдет из команды spark-submit, пока не нажмет ctrl + C. Зачем?spark-submit не выходит, пока я не нажму Ctrl + C

spark-submit --class SimpleApp --master yarn-client --num-executors 3 --driver-memory 512m --executor-memory12m --executor-cores 1 target/scala-2.10/application_2.10-1.0.jar /user/root/decks/largedeck.txt 

Вот код, я бегу.

/* SimpleApp.scala */ 
import org.apache.spark.SparkContext 
import org.apache.spark.SparkContext._ 
import org.apache.spark.SparkConf 

object SimpleApp { 
    def main(args: Array[String]) { 
    val logFile = "YOUR_SPARK_HOME/README.md" // Should be some file on your system 
    val conf = new SparkConf().setAppName("Simple Application") 
    val sc = new SparkContext(conf) 
    val cards = sc.textFile(args(0)).flatMap(_.split(" ")) 
    val cardCount = cards.count() 
    println(cardCount) 
    } 
} 
+0

Вы должны включать соответствующие части исходного кода. – KrisP

+0

Я также добавил код. –

+1

Я добавил выход в свою программу и работает как ожидалось. –

ответ

6

Вы должны вызвать stop() для контекста, чтобы выйти из программы.

+0

Какая из них более подходит для остановки() или выхода? выход тоже работает для меня. –

0

У меня была такая же проблема при записи файлов на S3. Я использую версию искры 2.0 даже после добавления stop(), если это не сработало для вас. Попробуйте следующие настройки:

В Спарк 2.0 вы можете использовать,

val spark = SparkSession.builder().master("local[*]").appName("App_name").getOrCreate() 
spark.conf.set("spark.hadoop.mapred.output.committer.class","com.appsflyer.spark.DirectOutputCommitter") 
spark.conf.set("mapreduce.fileoutputcommitter.marksuccessfuljobs", "false") 

 Смежные вопросы

  • Нет связанных вопросов^_^