我正在开发一个非常简单的火花流应用程序,它从s3位置获取inputTextFiles并进行一些转换并再次将结果输出到某个s3位置。 但问题是
JavaPairDStream<String, String> pairs = lines.mapToPair(
line -> new Tuple2<String, String>(line, fetcher.fetchAndSaveUrl(process(line) ))
);
pairs.dstream().saveAsTextFiles(s3Path + "/output", "output");
如果在没有处理的情况下保存文件事件,则在特定的批处理间隔中使用名为_SUCCESS的空文件进行处理。 如何确保仅在读取某些输入时才保存文件?
答案 0 :(得分:0)
你需要过滤我们的空RDD(即检查rdd.count()或rdd,isEmpty(),无论你会发现什么更合适)。 要实现这一点,您需要以使用foreachRDD()的方式重写DStream上的操作。