У меня есть текстовый файл с форматом ниже
2018-01-19 12:00 Info
2018-01-20 12:00 Info
2018-01-21 12:00 Error
Код, который я написал с помощью функции множественного сопоставления для класса дел и фильтрации на основе ошибок или информации. Есть ли лучший способ записи, уменьшив количество карт?используемая функция?
case class Test(date: String, time: String, log: String)
val input = sc.textFile(inputPath)
val filter = input.map(x => x.split(" ")).map(x => Test(x(0), x(1), x(2))).filter(_.log == "[" + logLevel + "]")
val mapCount = filter.map { case Test(f1, f2, f3) => (f1, 1) }
mapCount.persist()
val r = mapCount.reduceByKey(_ + _).collect
val rd = sc.makeRDD(r.toList).saveAsTextFile(outputPath)
Вывод при передаче информации как logLevel равен
(2018-01-19 ,1)
(2018-01-20 ,1)