如何读取文本文件并将其转换为 Java Spark 中的数据集?
How to read text file and convert it to a Dataset in Java Spark?
我想读入两个包含数据的文本文件和 运行 我的 Java Spark 项目
中数据的一些机器学习分类
令 fileZero
和 fileOne
是包含以下形式的数据的两个文件
>fileZero
10 1
9.8 1.2
10.1 0.9
....
还有另一个文件
>fileOne
0.1 40
0.2 38
0 50
...
对于fileZero
和fileOne
,每行包含一个由space分隔的(x,y)元组,并分别标记为0和1。换句话说,fileZero
中的所有行都应该标记为 0,fileOne
中的所有行都应该标记为 1。
我想读入这两个文件并考虑使用对象 Dataset
。
如何读入这两个文件,稍后我可以 运行 对数据进行分类/逻辑回归?
您可以定义 pojo 对象并将文件读入对象。
我的对象
public class MyObject {
private double x;
private double y;
private double label;
//Getters and setters
...
}
您可以像这样读取文件并将其转换为数据集:
JavaRDD<MyObject> cRDD = spark.read().textFile("C:/Temp/File0.csv").javaRDD()
.map(new Function<String, MyObject>() {
@Override
public MyObject call(String line) throws Exception {
String[] parts = line.split(" ");
MyObject c = new MyObject();
c.setX(parts[0].trim());
c.setY(parts[1].trim());
c.setLabel(0);
return c;
}
});
Dataset<Row> mainDataset = spark.createDataFrame(cRDD, MyObject.class);
然后就可以使用分类方法了...
我想读入两个包含数据的文本文件和 运行 我的 Java Spark 项目
中数据的一些机器学习分类令 fileZero
和 fileOne
是包含以下形式的数据的两个文件
>fileZero
10 1
9.8 1.2
10.1 0.9
....
还有另一个文件
>fileOne
0.1 40
0.2 38
0 50
...
对于fileZero
和fileOne
,每行包含一个由space分隔的(x,y)元组,并分别标记为0和1。换句话说,fileZero
中的所有行都应该标记为 0,fileOne
中的所有行都应该标记为 1。
我想读入这两个文件并考虑使用对象 Dataset
。
如何读入这两个文件,稍后我可以 运行 对数据进行分类/逻辑回归?
您可以定义 pojo 对象并将文件读入对象。
我的对象
public class MyObject {
private double x;
private double y;
private double label;
//Getters and setters
...
}
您可以像这样读取文件并将其转换为数据集:
JavaRDD<MyObject> cRDD = spark.read().textFile("C:/Temp/File0.csv").javaRDD()
.map(new Function<String, MyObject>() {
@Override
public MyObject call(String line) throws Exception {
String[] parts = line.split(" ");
MyObject c = new MyObject();
c.setX(parts[0].trim());
c.setY(parts[1].trim());
c.setLabel(0);
return c;
}
});
Dataset<Row> mainDataset = spark.createDataFrame(cRDD, MyObject.class);
然后就可以使用分类方法了...