0

PySpark のジョブで .py ファイルからロードする .sh ファイルを実行しようとしていますが、常に .sh ファイルが見つからないというメッセージが表示されます

これは私のコードです:

test.py:

import os,sys
os.system("sh ./check.sh")

そして私の gcloud コマンド:

gcloud beta dataproc jobs submit pyspark --cluster mserver file:///home/myuser/test.py

test.py ファイルは適切にロードされていますが、システムが check.sh ファイルを見つけることができません。

os.system("sh home/myuser/check.sh")私も同じ結果を試しました

これは簡単にできるはずだと思います...アイデア?

4

1 に答える 1

0

API を介して送信された Dataproc ジョブで使用される「現在の作業ディレクトリ」は、ジョブごとに一意の名前を持つ一時ディレクトリです。ファイルがジョブ自体でアップロードされていない場合は、絶対パスを使用してファイルにアクセスする必要があります。

check.sh実際にファイルを に手動で追加した場合は/home/myuser/check.sh、完全修飾パスを使用して呼び出すことができるはずos.system("sh /home/myuser/check.sh")です。必ず絶対パスを . で始めてください/

于 2016-02-03T19:34:51.247 に答える