Java: чтение TXT-файла в javaRDD из автономного кластера искры - PullRequest
0 голосов
/ 06 июня 2019

Сценарий : укажите dataset в виде текста в указанном месте автономного кластера.Прочитайте эти файлы обратно в javaRDD.Наблюдения:

Настройка среды :

  • Автономный кластер Spark на Linux, содержит ведущий и ведомый (главный, другой_сервер)
  • Java-код с «spark-submit» запускается на локальной машине Windows через IntelliJ.Водитель находится на локальной машине.

    1. Запись набора данных в текст -

dataset.select("column1").toDF().write().mode(SaveMode.Overwrite).text("/home/mountedLocation/TextOutput");

Это создает структуру папок -

/home/mountedLocation
    /TextOutput
        /_temporary/0/_temporary/attempt_<some_attempt_number_generated_by_spark>
        /part-00000-<job_id>-c000.txt
        /part-00001-<job_id>-c000.txt
        /part-00000-<job_id>-c000.txt.crc
        /part-00001-<job_id>-c000.txt.crc

В текстовых файлах есть все ожидаемые данные, ничего не пропущено.Но файл _SUCCESS не создается даже после попытки: sparkContext.hadoopConfiguration().set("mapreduce.fileoutputcommitter.marksuccessfuljobs","true");

Основные журналы:

INFO Master: Registering app appName
INFO Master: Registered app appName with ID app-20190606154601-0000
INFO Master: Launching executor app-20190606154601-0000/0 on worker worker-20190606154533-<worker1_ip>-36704
INFO Master: Launching executor app-20190606154601-0000/1 on worker worker-20190606154535-<worker2_ip>-39447
INFO Master: Received unregister request from application app-20190606154601-0000
INFO Master: Removing app app-20190606154601-0000
INFO Master: <localMachine_ip>:65087 got disassociated, removing it.
INFO Master: <localMachine_ip>:65078 got disassociated, removing it.
WARN Master: Got status update for unknown executor app-20190606154601-0000/0
WARN Master: Got status update for unknown executor app-20190606154601-0000/1

Рабочие журналы:

INFO ExecutorRunner: Launch command: "/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/bin/java" "-cp" "/home/sparkDirectory/conf/:/home/sparkDirectory/jars/*" "-Xmx1024M" "-Dspark.driver.port=65078" "org.apache.spark.executor.CoarseGrainedExecutorBackend" "--driver-url" "spark://CoarseGrainedScheduler@<master_ip>:65078" "--executor-id" "0" "--hostname" "<master_ip>" "--cores" "2" "--app-id" "app-20190606154601-0000" "--worker-url" "spark://Worker@<worker_ip>:36704"
INFO Worker: Asked to kill executor app-20190606154601-0000/0
INFO ExecutorRunner: Runner thread for executor app-20190606154601-0000/0 interrupted
INFO ExecutorRunner: Killing process!
INFO Worker: Executor app-20190606154601-0000/0 finished with state KILLED exitStatus 0
INFO ExternalShuffleBlockResolver: Clean up non-shuffle files associated with the finished executor 0
INFO ExternalShuffleBlockResolver: Executor is not registered (appId=app-20190606154601-0000, execId=0)
INFO Worker: Cleaning up local directories for application app-20190606154601-0000
INFO ExternalShuffleBlockResolver: Application app-20190606154601-0000 removed, cleanupLocalDirs = true

stderr из sparkUI:

INFO FileOutputCommitter: Saved output of task 'attempt_20190606154601_0000_m_000003_0' to file:/home/mountedLocation/TextOutput
INFO SparkHadoopMapRedUtil: attempt_20190606154601_0000_m_000003_0: Committed
INFO Executor: Finished task 3.0 in stage 0.0 (TID 3). 2032 bytes result sent to driver
INFO CoarseGrainedExecutorBackend: Driver commanded a shutdown
ERROR CoarseGrainedExecutorBackend: RECEIVED SIGNAL TERM
Чтение сгенерированных .txt файлов -

Подход 1 -

SparkSession ss = SparkSession.getActiveSession().get();
    Dataset set = ss.read().textFile("/home/mountedLocation/TextOutput");
    set.show();

Подход 2 -

JavaSparkContext sc = new JavaSparkContext(sparkContext);
            JavaRDD<String> lines = sc.textFile(files);
            for(String line:lines.collect()){
                System.out.println(line);
            }

Оба возвращают пустой набор данных.

Наблюдение:

  • Тот же код при запуске на локальной машине Windows не создавал _временную и базовую структуру.Сгенерированный файл _SUCCESS.
  • Код смог прочитать все текстовые файлы в одном наборе данных и показать его ().

Может кто-нибудь, пожалуйста, помогите мне понять, что идет не так и как читать данные?Все указатели и предложения приветствуются!

...