web-dev-qa-db-fra.com

Aucun module nommé 'ressource' installant Apache Spark sous Windows

J'essaie d'installer Apache spark pour qu'il s'exécute localement sur ma machine Windows. J'ai suivi toutes les instructions ici https://medium.com/@loldja/installing-Apache-spark-pyspark-the-missing-quick-stick-stide-for-windows-ad81702ba62d

Après cette installation, je peux démarrer pyspark et exécuter une commande telle que

textFile = sc.textFile("README.md")

Quand j'exécute ensuite une commande qui opère sur textFile telle que

textFile.first()

Spark me donne le message d'erreur «le serveur n'a pas réussi à se reconnecter» et je peux voir une exception dans la console provenant de worker.py disant «ModuleNotFoundError: aucun module nommé ressource». En regardant le fichier source, je constate que ce fichier python tente effectivement d'importer le module de ressources, mais ce module n'est pas disponible sur les systèmes Windows. Je comprends que vous pouvez installer spark sur Windows, alors comment puis-je résoudre ce problème?

6
Hayden

J'ai lutté toute la matinée avec le même problème. Votre meilleur pari est de passer à Spark 2.3.2

13
Luv

Le correctif peut être trouvé à https://github.com/Apache/spark/pull/23055

Le module de ressources est uniquement destiné aux systèmes Unix/Linux et n'est pas applicable dans un environnement Windows. Ce correctif n'est pas encore inclus dans la dernière version, mais vous pouvez modifier le fichier worker.py dans votre installation, comme indiqué dans la demande d'extraction. Les modifications apportées à ce fichier sont disponibles à l’adresse https://github.com/Apache/spark/pull/23055/files

Vous devrez re-compresser le répertoire pyspark et le déplacer dans le répertoire d'installation de pyspark (où vous avez extrait le pyspark pré-compilé conformément au tutoriel que vous avez mentionné)

5
p1g1n

Ajoutant à toutes ces précieuses réponses,

Pour les utilisateurs de Windows, assurez-vous d'avoir copié la version correcte du fichier winutils.exe (pour votre version spécifique de Hadoop) dans le dossier spark/bin.

Dire, Si vous avez Hadoop 2.7.1, copiez le fichier winutils.exe à partir du dossier Hadoop 2.7.1/bin.

Lien pour cela est ici

https://github.com/steveloughran/winutils

0
Aditya Patnaik