2016-09-07 3 views
2

私はCassandraデータベースと対話するDjangoアプリケーションを持っています。このデータベースに対して操作を実行するためにApache Sparkを試してみたいと思います。私はDjangoとCassandraについていくつかの経験がありますが、私はApache Sparkを初めて使用しています。DjangoでApache Sparkコンテキストを管理するには?

私は、私がSparkContextを作成する必要があることは、最初のスパーククラスタと対話するために、このような何かを知っている:私の質問は以下の通りです

from pyspark import SparkContext, SparkConf 

conf = SparkConf().setAppName(appName).setMaster(master) 
sc = SparkContext(conf=conf) 

を:どのように私はこのコンテキストを扱う必要がありますか?アプリケーションの起動時にインスタンス化し、実行中にライブ状態にする必要がありますか?クラスタで操作を実行する前にSparkContextを毎回起動し、操作が終了したら強制終了しますか?

ありがとうございます。

答えて

1

最後に私はこれに取り組んできました。誰も答えなかったので、私は自分の考え方を投稿します。

明らかにSparkContextを作成するとオーバーヘッドが少し発生するため、操作ごとにコンテキストを停止することはお勧めできません。

また、アプリケーションの実行中にコンテキストをライブ状態にすることには、明らかに落ち込みはありません。

私のアプローチでは、データベース接続のようにSparkContextを処理していました。アプリケーションの実行開始時にコンテキストをインスタンス化し、必要な場所で使用するシングルトンを作成しました。

私はこれが誰かに役立つことを願っています。これに対処する方法については新しい提案があります。私はまだApache Sparkの新機能です。

+0

あなたはそれをどのようにしたのか詳細を教えてください。 –

+1

Hi Beatriz私はこの質問をここに掲載して以来、Apache Sparkでもっと広く働いてきました。私がしたこの実装はおそらくそれを最大限に活用するものではありませんでした。しかし、私がやったのは、Spark Contextをインスタンス化するクラスを作成し、次にSparkで何かを実行する必要があるときに、このコンテキストをクラス属性としてアクセスすることでした。このようにして、アプリケーションの起動時にコンテキストが開始され、アプリケーションが存続するときにコンテキストを使用することができます。このコードはhttps://github.com/pedromb/wikiolapbase/blob/master/wob_data_upload/handles/spark_handle.py –

+0

にあります。ありがとうございます。 SparkをDjangoアプリケーションと完全に統合することができましたか?私は好奇心が強いです –

関連する問題