0
我正在嘗試使用培訓和測試數據製作模型。 我想在參數的情況下控制: 1.如果通過控制檯得到一個參數(一個文件路徑),我想分割數據。 2.如果我得到兩個參數(兩個文件路徑),一個是訓練,另一個是測試數據。 3.其他情況下,默認爲1。Scala/Spark randomSplit
問題是在條件之前定義變量。我不知道它是如何工作的一些/選項/無一句,我得到後此錯誤一些步驟:
var dataTraining: Option[RDD[String]]=None
var dataTesting: Option[RDD[String]]=None
if(args.length==1){
val data=sc.textFile(args(0))
val splitData=data.randomSplit(Array(0.8,0.2),seed=11L)
(dataTraining,DataTesting)=(Some(splitData(0)),Some(splitData(1)))
}
else if(args.length==2){
dataTraining=Some(sc.textFile(args(0))
dataTesting=Some(sc.textFile(args(1))
}
else{
dataTraining=Some(sc.textFile("/ruta")
dataTesting=Some(sc.textFile("/ruta2")
}
我沒有在這裏得到任何錯誤,但是當我想嘗試做: .map(_。split(',')),intellij無法重新分割函數。也許dataTraining/dataTesting的類型不正確。
¿我的錯誤是什麼?
非常感謝你!