Seule la Spark Web UI
de Spark (localhost: 4040) n'a pas pu se connecter pour une raison quelconque, j'ai donc recherché diverses choses, mais il n'y a pas de solution, et si vous n'êtes pas habitué, les personnes qui ont les mêmes problèmes Je pensais qu'il y en avait, alors je le posterai pour la première fois. De plus, en raison d'une erreur survenue pendant le travail, nous ne publions aucun code, etc. Merci de votre compréhension.
Pont conteneur Python et conteneur Spark (connexion Woker) avec Docker
Les environnements Pyspark
et java
sont installés dans les deux environnements.
Jusqu'à ce que vous exécutiez pyspark en élevant un maître et un travailleur de Spark avec docker-compose https://qiita.com/hrkt/items/fe9b1162f7a08a07e812
Je veux aller dans le Docker Python (docker exec ...), faire un spark-submit et me connecter à localhost: 4040 pour vérifier l'interface Web pendant le traitement.
Après le démarrage, localhost: 8080 se connecte, mais 4040 ne peut pas se connecter pour une raison quelconque
Je ne pouvais pas du tout comprendre en lisant StackOverFlow, etc., mais quand j'ai demandé à mes aînés, cela a été résolu d'un seul coup. Je veux être plus fort dans l'infrastructure.
J'exécutais l'exemple de code dans spark, mais quand je df.show ()
`La tâche initiale n'a accepté aucune ressource; vérifiez l'interface utilisateur de votre cluster pour vous assurer que les travailleurs sont enregistrés et disposent de ressources suffisantes. J'ai changé les paramètres de mémoire car je n'avais pas assez de ressources, mais je n'ai pas pu le résoudre.
J'ai emprunté l'exemple de code d'ici.
Gérer les arguments dans les fichiers de script PySpark https://blog.amedama.jp/entry/2018/03/17/113516
Exemple de code référencé
from pyspark import SparkConf
from pyspark import SparkContext
from pyspark.sql import SparkSession
def main():
conf = SparkConf()
conf.setAppName('example')
sc = SparkContext(conf=conf)
spark = SparkSession(sc)
df = spark.sql('SELECT "Hello, World!" AS message')
df.show()
Solution
conf = SparkConf().setMaster('local')