我无法在 java 中为以下内容创建模式
JavaRDD<Row> newRdd = dataset.javaRDD().map(new Function<Row, Row>() {
@Override
public Row call(Row r) throws Exception {
String[] startLngLat = r.getString(7).split(",");
String[] endLngLat = r.getString(8).split(",");
List<List<Double>> latLng = new ArrayList<List<Double>>();
List<Double> latlon = new ArrayList<Double>();
latlon.add(Double.parseDouble(startLngLat[0]));
latlon.add(Double.parseDouble(startLngLat[1]));
latLng.add(latlon);
List<Double> longlat = new ArrayList<Double>();
longlat.add(Double.parseDouble(endLngLat[0]));
longlat.add(Double.parseDouble(endLngLat[1]));
latLng.add(longlat);
HashMap<String, String> mapObj = new HashMap<String, String>();
mapObj.put("type", "LineString");
mapObj.put("coordinates", latLng);
Map<String, Object> geoMap = new HashMap<String, Object>();
geoMap.put("geom", mapObj);
Integer cf = r.getInt(9);
Integer countryCode = r.getInt(10);
Integer frc = r.getInt(11);
Row row = RowFactory.create(geoMap, cf, frc);
return row;
}
});
Dataset<Row> dataset1 = sparkSession.createDataFrame(newRdd, schema);
我在 java 中使用 spark。 我无法为此创建架构。请帮忙,如何为此创建架构