Я пытаюсь немного поиграть в режиме кластера apache-spark. Итак, мой кластер состоит из драйвера на моей машине и рабочего и менеджера на главной машине (отдельная машина).Apache Spark FileNotFoundException
я отправить текстовый файл, используя sparkContext.addFile(filepath)
где путь_к_файлу это путь моего текстового файла в локальной машине, для которой я получаю следующий результат:
INFO Utils: Copying /home/files/data.txt to /tmp/spark-b2e2bb22-487b-412b-831d-19d7aa96f275/userFiles-147c9552-1a77-427e-9b17-cb0845807860/data.txt
INFO SparkContext: Added file /home/files/data.txt at http://192.XX.XX.164:58143/files/data.txt with timestamp 1457432207649
Но когда я пытаюсь получить доступ к одному файлу с помощью SparkFiles.get("data.txt")
, Я получаю путь к файлу в моем драйвере вместо рабочего. Я настраиваю мой файл как этот
SparkConf conf = new SparkConf().setAppName("spark-play").setMaster("spark://192.XX.XX.172:7077");
conf.setJars(new String[]{"jars/SparkWorker.jar"});
JavaSparkContext sparkContext = new JavaSparkContext(conf);
sparkContext.addFile("/home/files/data.txt");
List<String> file =sparkContext.textFile(SparkFiles.get("data.txt")).collect();
Я получаю FileNotFoundException здесь.
Не могли бы вы написать, что такое вывод 'SparkFiles.get (« data.txt »)' is? – mgaido
Эй, отметьте вывод: /tmp/spark-b2e2bb22-412b-831d-19d7aa96f275/userFiles-147c9552-1a77-427e-9b17-cb0845807860/data.txt –