import org.apache.spark.{SparkConf, SparkContext}
import org.apache.log4j.{Level, Logger}
object UnionLogsSolution {
def main(args: Array[String]) {
System.setProperty("hadoop.home.dir", "C:\\hadoop\\")
Logger.getLogger("org").setLevel(Level.ERROR)
val conf = new SparkConf().setAppName("unionLogs").setMaster("local[*]")
val sc = new SparkContext(conf)
val julyFirstLogs = sc.textFile("in/nasa_19950701.tsv")
val augustFirstLogs = sc.textFile("in/nasa_19950801.tsv")
val aggregatedLogLines = julyFirstLogs.union(augustFirstLogs)
val cleanLogLines = aggregatedLogLines.filter(line => isNotHeader(line))
val sample = cleanLogLines.sample(withReplacement = true, fraction = 0.1)
val t = System.currentTimeMillis()
sample.coalesce(1).saveAsTextFile("C://SPARK//output"+t)
}
def isNotHeader(line: String): Boolean = !(line.startsWith("host") && line.contains("bytes"))
}
Ошибка: использование профиля log4j по умолчанию Spark: org / apache / spark / log4j-defaults.properties Исключение в потоке "main" org. apache .spark.SparkException: задание прервано из-за сбоя этапа: задача не сериализуемый: java .io.NotSerializableException: com.sparkTutorial.rdd.nasaApacheWebLogs.UnionLogsSolution $ Стек сериализации: - объект не сериализуемый (класс: com.sparkTutorial.rdd.nasaApacheWebLogs.UnionLogs.ApacheWebLogs.UnionLogsSolution . UnionLogsSolution$@2d0dbee5) - элемент массива (индекс: 0) в com.spark Tutorial.rdd.nasaApacheWebLogs.UnionLogsSolution $ .main (UnionLogsSolution. scala: 25 ) в com.sparkTutorial.rdd. nasaApacheWebLogs.UnionLogsSolution.main (UnionLogsSolution. scala) Вызвано: java .io.NotSerializableException: com.sparkTutorial.rdd.nasaApacheWebLogs.UnionLogsSolution $