我们有一个使用Spark Streaming 1.4构建的java应用程序,它每20秒轮询一个dir以获取新文件,还有另一个脚本每5秒填充一次新的(无复制)文件。
问题是 - 火花日志显示它已经拾取了新文件
2015-07-07 05:13:00,390 - [INFO ] org.apache.spark.streaming.dstream.FileInputDStream:59 New files at time 1436226180000 ms:
file:/home/mata/Downloads/in/365379649921050.txt
file:/home/mata/Downloads/in/365364610737285.txt
file:/home/mata/Downloads/in/365374642289893.txt
file:/home/mata/Downloads/in/365369640106263.txt
2015-07-07 05:13:00,918 - [INFO ] org.apache.spark.storage.MemoryStore:59 ensureFreeSpace(231040) called with curMem=0, maxMem=280248975
但是RDD处理(连接,聚合)没有发生。我在处理部分添加了日志语句,但它在启动时只显示一次这些语句。有没有人遇到过这个问题?
// Create the context with a 20 second batch size
SparkConf sparkConf = new SparkConf()
.setAppName("Data - Streaming App");
JavaStreamingContext ssc = new JavaStreamingContext(sparkConf,
Durations.seconds(Long.valueOf(args[3]).longValue()));
答案 0 :(得分:0)
这已经解决。
这不是Spark问题。问题是我们正在读取平面文件并在单独的java类/对象中解析它,但是这个类中有一个异常,并且Spark由于某种原因没有记录该异常,并且默默地没有创建/处理任何RDD。它很难调试,但现在无论如何都可以处理新文件。