2017-01-06 4 views
1

私はスパークするのが新しいです。現在、Pysparkを使用してFacebook APIデータを抽出しようとしています。私は主ファイルにsparkcontextを作成しています。私は、main.pyプログラムを起動したときに、これらがすべて実行されるフォルダにmultiple.pyファイルを持っています。あるpyファイルで作成されたsparkcontextを別のpyファイルにインポート/チェックする方法は?

プログラムが他の.pyファイルに行くと、私が作成したsparkcontextが存在するかどうかをチェックしたいと思います。もしそうなら、そのsparkcontextをother.pyファイルの実行に使用したいと思います。誰でも私にこれをやってもらうことができますか?私がどこにいても間違っていれば。最高のアイデアを提案してください。

例:これは単なる小さなコードと私の問題

# Calling file name: main_file.py   
def fb_calling(): 
     import file2 
     file2.fb_generaldata() 

f __name__ == "__main__": 
    conf = SparkConf() 
    conf.setAppName('fb_sapp') 
    conf.setMaster('yarn-client') 
    sc = SparkContext(conf=conf) 
    fb_calling() 

# File:file2.py 
def fb_generaldata(): 
    sc.parallelize('path') 

を示す私の全体のコードではありません私の問題は、私はfile2.py で使用するmain_file.pyで作成しsparkcontextを使用することができますしたいですそれがどうやって起こっているか教えてください。私が間違っていると、私を正しく導くことができます。私は全く新しいスパークです。 はあなたの助け

答えて

1

いただきありがとうございますあなたはあなたがあなたにファイルを送信する必要がある場合があり、それを実行しているかに応じて、この

# File:file2.py 
def fb_generaldata(sc): 
    sc.parallelize('path') 

# main_file.py 
import file2 

if __name__ == "__main__": 
    conf = SparkConf() 
    conf.setAppName('fb_sapp') 
    conf.setMaster('yarn-client') 
    sc = SparkContext(conf=conf) 
    file2.fb_generaldata(sc) 

ようfile2.pyにあなたの関数の引数としてsparkContexを渡すことができますあなたがspark-submitコマンドでsc.addPyFile("file2.py")またはpy-files引数を使用してそれを行うことができます。

+0

ありがとうございます...あなたのコードサンプルを試しました...その作業...ありがとうございました – Rahul

+0

クール!あなたは答えを受け入れることができますか?ありがとう – germanium

関連する問題