gpt4 book ai didi

java - Spark - 将RDD保存到多个文件作为输出

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:40 26 4
gpt4 key购买 nike

我有一个 JavaRDD<Model> ,我需要将它写成多个具有不同布局的文件 [RDD 中的一个或两个字段在不同布局之间会有所不同]。

当我使用 saveAsTextFile()它调用toString() Model 的方法,这意味着相同的布局将作为输出写入。

目前我正在做的是使用 map 迭代 RDD转换方法并返回具有其他布局的不同模型,因此我可以使用 saveAsTextFile() 操作写入不同的输出文件。

仅仅因为一两个字段不同,我需要再次迭代整个RDD并创建新的RDD,然后将其保存为输出文件。

例如:

当前的 RDD 字段:

RoleIndicator, Name, Age, Address, Department

输出文件 1:

姓名、年龄、地址

输出文件 2:

RoleIndicator, Name, Age, Department

有什么最优解吗?

问候,香卡

最佳答案

您想使用foreach,而不是collect

您应该将函数定义为扩展 VoidFunction 的实际命名类。为这两个文件创建实例变量,并添加一个关闭文件的 close() 方法。您的 call() 实现将编写您需要的任何内容。

记得在完成后对函数对象调用 close()

关于java - Spark - 将RDD保存到多个文件作为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31399913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com