PySpark: как установить инструмент командной строки Linux на рабочих?

Я пытаюсь использовать инструмент командной строки Linux «Попплер» для извлечения информации из файлов PDF. Я хочу сделать это для огромного количества PDF-файлов на нескольких рабочих Spark. Мне нужно использовать Popplers, а не PyPDF или что-то подобное.

Кто-нибудь знает, как установить Попплер на рабочие? Я знаю, что могу выполнять вызовы командной строки из python и извлекать вывод (или извлекать сгенерированный файл с помощью библиотеки Poppler), но как мне установить его на каждом воркере? Я использую искру 1.3.1 (кирпичи данных).

Благодарю вас!


person Loek Janssen    schedule 21.07.2015    source источник


Ответы (1)


Правильный способ — установить его на всех ваших рабочих процессах при их первоначальной настройке, как если бы вы устанавливали любое другое приложение для Linux. Как вы уже указали, вы можете раскошелиться изнутри Python.

Если это невозможно по какой-либо причине, вы можете отправить файлы всем рабочим процессам, используя метод addFile: http://spark.apache.org/docs/latest/api/python/pyspark.html#pyspark.SparkContext.addFile

Обратите внимание, что последний подход не заботится о зависимостях (библиотеках и т. д.).

person user2303197    schedule 21.07.2015