spark не оптимален для форматов pdf, xls, docx. Эти форматы имеют собственный тип сжатия и плохо распараллеливаются. Они должны быть полностью загружены в память, чтобы быть распакованными.
Предпочтительными форматами сжатия являются ориентированные на столбцы форматы сжатия, такие как паркетные, орк или плоские файлы, такие как json, txt ... Они могут эффективно обрабатываться по частям без необходимости загружать весь файл в память для распаковки.
Если у вас есть только текстовые файлы, которые имеют разную структуру или неструктурированы, то я рекомендую использовать API RDD для их чтения:
sc.wholeTextFiles(input_directory)
Это загрузит содержимое каждого текстового файла и добавит имя файла к каждой записи.
В противном случае распараллеливание в python с использованием multiprocessing
будет более эффективным.