2016-09-11 5 views
0

他のモジュールからファイルをインポートする際にこのエラーが表示されますか?誰でもその理由を教えてください。それは怠惰な仕事として、コマンドは失敗しています。ファイルとしてoozie.common.fileをインポートするImportError:oozieという名前のモジュールがありません

フォルダ構造:私はインポートしようとしていた場所から

oozie/common/file.py 
oozie/common/__init__.py 
oozie/__init__py 

私の場所:

oozie/mylocation/pjt.py 
oozie/common/__init__.py 

コマンド:

import oozie.common.file as file 

答えて

0

あなたのPythonコードは、HDFSから移動されます実行されるデータノードのローカルファイルシステムに格納されます。 必要なファイルをすべてoozieジョブに設定してください。そうしないと、選択されたデータ・ノードにダウンロードされないファイルがあります。

ことを忘れないでください:

1)全てのPythonシステムライブラリは、ローカルのライブラリが動作し、各データノード

2)にインストールする必要がありますが、PythonのLIBPATHを設定している場合。

あなたの最初の行はあなたのpythonスクリプトで、ライブラリパスを設定するものでなければなりません。

私の考えでは、すべてのクラスを同じファイルに保つということは、あなたができるのであれば、あなたがoozieでそれらを始めるときの無痛な解決策です。

Javaを使用できる場合は、

+0

ジョブは、複製ファクタ1の単一マシン上で実行されています。 – mahan07

+0

複製ファクタは、同じデータがハントープに複製される回数です。これは、スクリプトの実行に影響しません。単一のマシンでは、問題はおそらくライブラリのパスです。同じパスライブラリの問題を持つ "ozieの下でpysparkを実行する方法"を探して良い提案を見つけるでしょう。私はすべてのクラスを同じ.pyファイルに入れて解決しました。ワークフロー構成がすべてのファイルをダウンロードするように設定されていることを確認してください。 – ozw1z5rd

関連する問題