J'essaie d'exécuter une action avec Spark avec se bloque. L'exécuteur correspondant lève l'exception suivante:
spark.read.jdbc(jdbcString, "table", props).show()
Mon environnement est un cluster Spark autonome sur Docker avec Zeppelin comme pilote Spark. La connexion au cluster fonctionne correctement.
Mon action Spark est une sortie simple d'une base de données comme:
2019-03-06 11:18:16 ERROR Inbox:91 - Ignoring error java.io.EOFException at java.io.DataInputStream.readFully(DataInputStream.java:197) at java.io.DataInputStream.readUTF(DataInputStream.java:609) at java.io.DataInputStream.readUTF(DataInputStream.java:564) at org.apache.spark.scheduler.TaskDescription$$anonfun$decode$1.apply(TaskDescription.scala:131) at org.apache.spark.scheduler.TaskDescription$$anonfun$decode$1.apply(TaskDescription.scala:130) at scala.collection.immutable.Range.foreach(Range.scala:160) at org.apache.spark.scheduler.TaskDescription$.decode(TaskDescription.scala:130) at org.apache.spark.executor.CoarseGrainedExecutorBackend$$anonfun$receive$1.applyOrElse(CoarseGrainedExecutorBackend.scala:96) at org.apache.spark.rpc.netty.Inbox$$anonfun$process$1.apply$mcV$sp(Inbox.scala:117) at org.apache.spark.rpc.netty.Inbox.safelyCall(Inbox.scala:205) at org.apache.spark.rpc.netty.Inbox.process(Inbox.scala:101) at org.apache.spark.rpc.netty.Dispatcher$MessageLoop.run(Dispatcher.scala:221) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
Je peux imprimer le schéma de la table, donc il ne devrait pas y avoir un problème avec la connexion.
3 Réponses :
Veuillez vérifier que votre environnement JAVA, Python, Pysaprk doit être le même dans MASTER et WORKER et le chemin, la même version aussi
Notre machine pilote avait une version différente de Java par rapport au cluster autonome Spark. Quand nous avons essayé avec une autre machine avec la même version java, cela a fonctionné.
J'ai eu le même problème dans l'un des dossiers disponibles sur S3. Les données ont été stockées en tant que Parquet avec compression Snappy. Quand je l'ai changé en ORC avec la compression Snappy, cela a fonctionné comme du charme.