如何将自定义Java类转换为Spark数据集

我无法找到一种方法将List的Test对象转换为Spark中的数据集这是我的类:

public class Test { public String a; public String b; public Test(String a, String b){ this.a = a; this.b = b; } public List getList(){ List l = new ArrayList(); l.add(this.a); l.add(this.b); return l; } } 

您在评论中创建DataFrame的代码是正确的。 但是,定义Test的方式存在问题。 您只能使用Java Bean中的代码创建DataFrame。 您的Test类不是Java Bean 。 解决之后,您可以使用以下代码创建DataFrame:

 Dataset dataFrame = spark.createDataFrame(listOfTestClasses, Test.class); 

和这些行来创建一个类型化的数据集:

 Encoder encoder = Encoders.bean(Test.class); Dataset dataset = spark.createDataset(listOfTestClasses, encoder);