我正在嘗試使用 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
提交
取消