J'ai cette ligne en scala :
class SparkStreamingService(...){
val lines: org.apache.spark.streaming.dstream.InputDStream[(String, String)] = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](
ssc, kafkaParams, topics)
lines.foreachRDD { rdd =>
val df = cassandraSQLContext.read.json(rdd.map(x => x._2))
if (!df.rdd.isEmpty()) {
processDataFrameToLoadService(df)
}
else{
throw new BacSparkStreamingExpception("The dataframe created from kafka message is empty")
}
}
ssc.start()
ssc.awaitTermination()
}
Existe-t-il un moyen de simuler un InputDStream en Java ? Comment puis-je procéder pour effectuer des tests unitaires ? En gros, je veux me moquer de cassandraSQLContext.read.json(rdd.map(x => x._2)) et retourner un DF personnalisé (ce que je peux faire), mais comment faire pour dépasser les 3 premières lignes ? Actuellement, il ne fait qu'interroger les messages et le test ne se termine jamais.