我编写了一个名为Person.java的简单java类来创建Person Object。
e.g:
public Person(){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
然后我在Apache Spark主驱动程序类中实现了以下代码。
JavaRDD<Person> people = ctx.textFile(logFile).map(
new Function<String, Person>() {
public Person call(String line) throws Exception {
String[] parts = line.split("\\|");
Person trans = new Person();
trans.setName(parts[0]);
return trans;
}
});
以上函数编译并运行正常但问题是我不确定如何查询人员数据集。我如何获取存储的数据?
当我尝试时: people.first();
输出是: 人@ 3f03a49
我假设铸造问题?如何将其转换为人类可读?
答案 0 :(得分:1)
在尝试使用像Spark这样的复杂库之前,我建议学习一些Java。 Person@3f03a49
不是强制转换的问题,默认情况下,类Person
的对象如何转换为String
。你只需要定义
@Override
public String toString() {
return "Person(" + name + ")";
}
在Person
课程内。
如何获取存储的数据?
使用任何actions:first
,collect
等。但请注意,默认情况下,Spark不会存储数据,而是&#39; s在运行中计算。