我有一個電影,有一個標題。在這個標題是電影的一年,如「電影(年)」。我想提取年份,我正在使用一個正則表達式。任務不可序列化 - 正則表達式
case class MovieRaw(movieid:Long,genres:String,title:String)
case class Movie(movieid:Long,genres:Set[String],title:String,year:Int)
val regexYear = ".*\\((\\d*)\\)".r
moviesRaw.map{case MovieRaw(i,g,t) => Movie(i,g,t,t.trim() match { case regexYear(y) => Integer.parseInt(y)})}
當執行的最後一個命令我碰到下面的錯誤:
java.io.NotSerializableException: org.apache.spark.SparkConf
運行在Spark /斯卡拉REPL,這個SparkContext: val conf = new SparkConf(true).set("spark.cassandra.connection.host", "localhost") val sc = new SparkContext(conf)
mh,即時通訊在scala repl上使用它,而不是在應用程序中。 Sry,忘了提到這一點。包裝在一個物體中可能是一個解決方案,但也許有更順利的方法來解決這個問題。 – mniehoff
@mniehoff您是否在REPL上創建了自己的'SparkConf'?如果是這樣,你可以將這部分代碼添加到問題中嗎? – maasg
將它添加到上面的問題。 – mniehoff