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的类型不正确。
¿我的错误是什么?
非常感谢你!