2
内からスクリプトを実行します。しかし、どのように私はpysparkシェル内からscript.pyを実行していますか?これは基本的な質問のようですが、私はどこでも答えを見つけることができません。私はは私が</p> <pre><code>pyspark script.py </code></pre> <p>を入力して、UNIXのコマンドラインからの私のpython + pysparkスクリプトを実行することができますpysparkシェル
execfile('script.py')
を試してみました。しかし、私は、エラーを取得する:
ValueError: Cannot run multiple SparkContexts at once
'subprocess.call'(https://docs.python.org/3/library/subprocess.html#subprocess.call)を試してください。私の理解では、 'execfile'は同じPythonインスタンス内のファイルを評価しようとしますが、' subprocess'モジュールではPythonとPySparkの別のインスタンスを生成できます。 – KartikKannapur
チップをありがとうございます。コードを実行可能にしてchmodを追加した後、私はこの方法でコードを実行することができます。しかし、実行後、私はコード内の変数にアクセスすることはできません。したがって、UNIXで 'pyspark script.py'を実行するのとほぼ同じです。 – user3433489
はい、別の変数にパイプを張ったり、何らかのデータ構造で永続化したりしない限り、変数にアクセスすることはできません。 'サブプロセス'はあなたが別のスパークプログラムを呼び出すのに役立ちます。 'subprocess.Popen'に' stdout = PIPE'と似たものを試すことができます – KartikKannapur