我有一个文件,我想将其提供给mllib算法。因此,我按照示例进行操作,例如:
val data = sc.textFile(my_file).
map {line =>
val parts = line.split(",");
Vectors.dense(parts.slice(1, parts.length).map(x => x.toDouble).toArray)
};
这行得通,但是有时候我缺少一个功能。有时某一行的一列没有任何数据,我想扔掉这样的行。
所以我想做这样的事情 map{line => if(containsMissing(line) == true){ skipLine} else{ ... //same as before}}
我该如何执行skipLine操作?
您可以使用filter
function过滤掉这些行:
val data = sc.textFile(my_file)
.filter(_.split(",").length == cols)
.map {line =>
// your code
};
假设变量cols
保存有效行中的列数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句