Я подключаюсь к кластеру с помощью ssh
и отправляю программу в кластер с помощью
spark-submit --master yarn myProgram.py
Я хочу сохранить результат в текстовом файле, и я попытался использовать следующие строки:
counts.write.json("hdfs://home/myDir/text_file.txt")
counts.write.csv("hdfs://home/myDir/text_file.csv")
Однако ни один из них не работает. Программа завершается, и я не могу найти текстовый файл в myDir
. У вас есть идеи, как я могу это сделать?
Кроме того, есть ли способ писать напрямую на мою локальную машину?
РЕДАКТИРОВАТЬ: я обнаружил, что каталог home
не существует, поэтому теперь я сохраняю результат как: counts.write.json("hdfs:///user/username/text_file.txt")
Но это создает каталог с именем text_file.txt
, и внутри у меня есть много файлов с частичными результатами внутри. Но я хочу один файл с окончательным результатом внутри. Любые идеи, как я могу это сделать?
hdfs dfs -ls hdfs://home/myDir
? - person OneCricketeer   schedule 16.12.2017/home/myDir
для записи в - person OneCricketeer   schedule 16.12.2017-ls: java.net.UnknownHostException: home
так что я думаю, что этой папки не существует. Обычно, когда я должен сохранить файл в каталоге, я должен его поместить? - person lads   schedule 16.12.2017/home
- это пользовательский каталог Linux... В HDFS это/user
. - person OneCricketeer   schedule 16.12.2017UnknownHostException
потому что ваш путь неверен. Должно бытьhdfs:///home/myDir
, а лучше убратьhdfs://
отовсюду, как упоминалось - person OneCricketeer   schedule 16.12.2017