如何在Java中创建对象集合Spark Dataset?

问题描述 投票:0回答:1

我在过去的几个月里一直在研究Spark。其中Dataset是作为分布式对象集合使用的,我并不担心它是如何分布的,而是一个基本的数据结构。

我并不担心它是如何分布的,而是一个基本的数据结构。我很想知道如何把它放在java中,如果创建我自己的Dataset这样的东西。

它看起来像这样 Dataset<Row>. 其中Row是记录,可以是很多。

这就是它的工作原理,要创建 Dataset<Row>

List<Row> rows = new ArrayList<Row>();
for (Employee e : employees) {

    rows.add(RowFactory.create(e.getFirstname(), 
                    e.getLastname(), 
                    e.getTitle(), 
                    e.getId(),
                    e.getDivision(), 
                    e.getSupervisor()));
}

return rows.iterator();

而上面给我的是这样的 Dataset<Row>

有谁能分享一下如何将其放在Java中?我的意思是在java中的一些代码,这是负责创建这样的东西。Dataset<Row>

我并不要求完整的代码,只要求一个基本的想法,这样我就可以清楚地想象它在后端是什么样子。

基本的小样本数据结构将是非常有帮助的。

谢谢你

java apache-spark data-structures apache-spark-dataset
1个回答
1
投票

你可以创建一个数据集的行,从列表中的几种方式,通过 创建数据帧:

Dataset<Row> datasetRows = spark.createDataFrame(employeesList, Employee.class);

更新:如果你想知道它是如何工作的,那么你需要看看Spark的来源。GitHub但你会重写API所提供的简单性和抽象性。我喜欢不操作Row对象,因为它是动态的,并接受一个值的列表。使用像Employee这样的Java对象可以帮助你写出更少的错误代码,并有同质的存储数据。

© www.soinside.com 2019 - 2024. All rights reserved.