создание rdd из текстового файла, который содержит путь к фактическому файлу - PullRequest
0 голосов
/ 18 июня 2019

Я должен сделать rdd из текстового файла, который содержит путь к исходному текстовому файлу.У меня есть каталог, который содержит три файла - hw2-file.txt , hw2-file-10mb.txt (фактический текстовый файл) и hw2.ipynb это тетрадь Jupyter, над которой я должен работать.Мой hw2-file.txt содержит

/ home / kriti / Загрузки / локальный тест / hw2-file-10mb.txt

Тогда язапустил следующий код-

with open('./hw2-files.txt') as f:
    file_path= [w.strip() for w in f.readlines() if w.strip()]
lines= sc.textFile(file_path)
lines.cache().count()  

и получил следующую ошибку-

Py4JJavaError: Произошла ошибка при вызове z: org.apache.spark.api.python.PythonRDD.collectAndServe.: org.apache.hadoop.mapred.InvalidInputException: Путь ввода не существует: file: / home / kriti / Downloads / local test / file_path

Есть ли другой способ прочитать текстовый файлэтот тип в RDD?

1 Ответ

0 голосов
/ 18 июня 2019

Если вы хотите читать только текстовый файл из каталога, вы можете использовать путь с *.txt в качестве суффикса.

Вы можете написать свой код, как показано ниже в pySpark.

//Reading Path from file hw2-file.txt
    >>> pathlist = sc.textFile(<path of hw2-file.txt>).collect()

    //Cast RDD value into String like    
    // "/home/kriti/Downloads/local test/hw2-file-10mb.txt"
    >>> path = str("".join(pathlist)) 

  //data of hw2-file-10mb.txt file
    >>> rdd  = sc.textFile(path) 
    >>>rdd.count()
...