Bonjour tout le monde,
j'utilise Spark Streaming comme listener pour surveiller un dossier. À la detectection de tout nouveau fichier, le programme effectue un traitement donné. le programme est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
val conf = new SparkConf().setAppName("DocumentRanking").setMaster("local[*]")
val sparkStreamingContext = new StreamingContext(conf, Seconds(5))

val directoryStream = sparkStreamingContext.textFileStream("nom_dossier")

directoryStream.foreachRDD (rdd => if (rdd.count()!=0)
  				rdd.foreach(line =>traitement()))
le traitement du premier fichier ajouté passe sans problème. Mais à l'ajout du deuxième fichier, j'ai l'erreur suivante:

16/12/22 09:11:37 ERROR Executor: Exception in task 0.0 in stage 2.0 (TID 2)
java.lang.ClassCastException: org.apache.spark.util.SerializableConfiguration cannot be cast to [B
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:62)
at org.apache.spark.scheduler.Task.run(Task.scala:88)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Merci d'avance