#visual-studio #pyspark #hadoop2
#visual-studio #pyspark #hadoop2
Вопрос:
Я пытаюсь получить файл из hdfs в pyspark, используя код Visual Studio…
- я проверил через jps, что все узлы находятся только в активном состоянии.
-
мой путь к файлу в hadoop — это hadoop fs -cat emp /part-m-00000
1, A, ABC 2, B, ABC 3, C, ABC
-
и core-site.xml является fs.default.name hdfs://localhost: 9000
-
я извлекаю вышеупомянутый файл с помощью кода Visual Studio в pyspark..
но я получаю ошибку типа
py4j.protocol.Py4JJavaError: произошла ошибка при вызове o31.partitions. : org.apache.hadoop.mapred.Исключение InvalidInputException: путь ввода не существует: hdfs://localhost: 9000/emp/part-m-00000
пожалуйста, помогите мне
я попытался указать путь hadoop
from pyspark.conf import SparkConf
from pyspark.context import SparkContext
from pyspark.sql import HiveContext
sc= SparkContext('local','example')
hc = HiveContext(sc)
tf1 = sc.textFile("hdfs://localhost:9000/emp/part-m-00000")
print(tf1.first())
мне нужно получить файл из hadoop
Комментарии:
1.
emp/part-m-00000
это относительный путь, попробуйте найти его абсолютный путь, например:hdfs://localhost:9000/user/...../emp/part-m-00000
2. как найти путь absoulte, не могли бы вы помочь мне в этом
3. просто добавьте свою домашнюю папку HDFS, обычно
/user/<username>
<имя пользователя> настраивается либо вашей оболочкой env$HADOOP_USER_NAME
, либо вашим пользователем оболочки входа. вы можете проверитьhdfs dfs -ls /user
и посмотреть, сможете ли вы найти там свое имя, а затем использоватьhdfs://localhost:9000/user/<username>/emp/part-m-00000
для доступа к этому файлу.4. о .. Спасибо, я могу получить доступ к HDFS, как вы сказали.