2016-08-22 3 views
0

Я создаю скрипт Python, выполненный с использованием команды spark-submit для извлечения данных из коллекции MongoDB и получения извлеченных данных для генерации аналитики. Я использую разъем MongoDB Spark для запроса коллекции MongoDB с использованием опции --packages.Как настроить внешний пакет в Apache Spark?

Но мне нужно настроить пакет в Apache Spark и выполнить скрипт Python, используя команду «отправить команду» без опции --packages.

+1

Почему вы избегаете использования --пакетов? Просто спросите, можем ли мы обойти его. –

ответ

1

От http://spark.apache.org/docs/latest/submitting-applications.html:

Для Python, вы можете использовать --py-файлы аргумент искру подать добавить .py, .zip или .egg файлы, которые будут распространяться вместе с приложением. Если вы зависите от нескольких файлов Python, мы рекомендуем их упаковывать в .zip или .egg.

Таким образом, вы можете написать собственный уровень логики загрузки данных. Однако использование готового пакета имеет множество преимуществ. Может быть, вы могли бы объяснить, почему вы не можете использовать --packages?

EDIT

на основе чата, единственная причина, PO не может использовать --packages является его jar для MongoDB хранится локально (и, конечно, не в $PATH). В этом случае обеспечение --repositories /PATH/TO/JAR должно устранить проблему.

+0

Спасибо, что ответили на мой вопрос. Мне нужно вызвать искровое приложение из скрипта php, и искровое приложение не вызывается при указании опции --пакеты. Мне нужно настроить пакет в самой искры apache. –

+0

Как «исправить приложение не вызывается при указании опции« пакеты »? – ShuaiYuan

+0

Ниже приведен фрагмент кода php $ result = shell_exec ('./ bin/spark-submit --master local [*] --packages org.mongodb.spark: mongo-spark-connector_2.10: 1.0.0 примеры/src/Основной/Python/demo.py '); print_r ($ result); –

Смежные вопросы