Zbudowałem numer python module i chcę go zaimportować do aplikacji Pyspark.importowany przez użytkownika moduł pyspark lub pliki .py
Moja struktura katalogów jest pakiet:
wesam/
|-- data.py
`-- __init__.py
Prosty import wesam
na szczycie mojego skryptu pyspark prowadzi do ImportError: No module named wesam
. Próbowałem też skompresować go i wysłać z moim kodem --py-files
jako recommended in this answer, bez powodzenia.
./bin/spark-submit --py-files wesam.zip mycode.py
Dodałem też plik programowo jak sugeruje this answer, ale mam ten sam ImportError: No module named wesam
błąd.
.sc.addPyFile("wesam.zip")
Czego mi tu brakuje?
to jest bardzo wyraźne i użyteczne. Dziękuję Ci! – watsonic
Chociaż może to zadziałać, skutecznie dystansujesz swojego środowiska poprzez (prawdopodobnie) globalnie rozłożony $ HOME/.bashrc. Czy naprawdę nie ma możliwości dynamicznego ustawiania PYTHONPATH modułów roboczych? Powodem, dla którego chciałbyś to zrobić, jest interakcja z REPLI ipython i chcesz wysyłać zadania równoległe, które zależą od modułów znajdujących się na NFS w PYTHONPATH (pomyśl o trybie rozwoju python setup.py). – mathtick