我正在尝试从从CSV文件读取的数据集生成features
列。
CSV包含如下内容:
+-----+---+---+
|label| x| y|
+-----+---+---+
| 0| 1| 1|
我需要将此数据集的值转换为整数,以便VectorAssembler起作用。我这样做是这样的:
Dataset<Row> dataset = spark.read()
.format("csv")
.option("header", "true")
.load("data.csv");
dataset = dataset.selectExpr("label", "cast(x as int) x", "cast(y as int) y");
VectorAssembler assembler = new VectorAssembler()
.setInputCols(new String[]{"x", "y"})
.setOutputCol("features");
dataset = assembler.transform(dataset);
这是正确的方法吗?有效率吗?