我正在尝试使用 lambda 表达式拆分 String 数组。但是它告诉我拆分方法无法解析。我这样做是为了将 String 类型的 Java Spark RDD 解析为 double。JavaRDD parsedData = data.map(s -> { String[] sarray = s.split(" "); double[] values = new double[sarray.length]; for (int i = 0; i < sarray.length; i++) { values[i] = Double.parseDouble(sarray[i]); } return Vectors.dense(values); }); parsedData.cache();
1 回答
达令说
TA贡献1821条经验 获得超6个赞
如果像评论中所说的那样, data 是 type Stream<Object>,那么这段代码应该可以完成这项工作:
JavaRDD parsedData = data.map( o -> o.toString() )
.map( s ->
{
String[] sarray = s.split( " " );
double[] values = new double [sarray.length];
for( int i = 0; i < sarray.length; i++ )
{
values[i] = Double.parseDouble( sarray[i] );
}
return Vectors.dense( values );
});
parsedData.cache();
添加回答
举报
0/150
提交
取消