2016-08-22 3 views
0

spark-submitコマンドを使用して実行されるPythonスクリプトを構築して、MongoDBコレクションからデータを取得し、取得したデータを処理して解析を生成します。私は--packagesオプションを使用してMongoDBコレクションを照会するためにMongoDB Sparkコネクターを利用しています。Apache Sparkに外部パッケージを設定するには?

しかし、私はApache Sparkにパッケージを設定し、--packagesオプションなしでspark submitコマンドを使ってPythonスクリプトを実行する必要があります。

+1

なぜ--packagesオプションを使用しないのですか?私たちが周りを歩くことができるかどうか尋ねてください。 –

答えて

1

http://spark.apache.org/docs/latest/submitting-applications.htmlから:

Python用には、火花提出の.py、.zipファイルまたはアプリケーションと一緒に配布することが.eggファイルを追加するの--py・ファイルの引数を使用することができます。複数のPythonファイルに依存する場合は、それらを.zipまたは.eggにパッケージ化することをお勧めします。

したがって、独自のデータロードロジックを作成することができます。しかし、既製のパッケージを使用すると多くの利点があります。たぶんあなたは--packagesを使用できない理由を説明できますか?チャットに基づいて

EDIT

、POは--packagesを使用することができなかった唯一の理由は、MongoDBのための彼のjarです($PATHに、そしてもちろんのない)ローカルに保存されています。この場合、--repositories /PATH/TO/JARを指定すると問題が解決されます。

+0

私の質問にお答えいただきありがとうございます。私はphpスクリプトからsparkアプリケーションを起動し、sparkアプリケーションを呼び出す必要があります--packagesオプション.Henceを指定すると呼び出されません私はapacheを起動するためにパッケージを構成する必要があります。 –

+0

--packagesオプションを指定して "アプリケーションを起動できません"というメッセージはどうなりますか? – ShuaiYuan

+0

以下はPHPコードスニペットです。$ result = shell_exec( './ bin/spark-submit --master local [*] --packages org.mongodb.spark:mongo-spark-connector_2.10:1.0.0 examples/src/main/python/demo.py '); print_r($ result); –

関連する問題