Java 如何使用spark创建大文件的较小子集

Java 如何使用spark创建大文件的较小子集,java,apache-spark,apache-spark-dataset,Java,Apache Spark,Apache Spark Dataset,我有一大堆相关的文件。我想用较大文件中的数据子集生成较小的文件。我如何使用ApacheSpark实现这一点 我能够加载这些文件、应用转换并在数据集中创建记录子集。我能够在驱动程序sysout中执行df.show来查看这些。但我找不到一种方法将这些写入文件 我想要的只是文件中df.show的输出。Spark已经将结果聚合到驱动程序以显示此数据。为什么没有办法将这些写入文件呢 我看到有人问过类似的问题。但是没有看到任何明确的答案。 coalesce1不适合我,因为它太大,无法保存在单个分区内存中 如

我有一大堆相关的文件。我想用较大文件中的数据子集生成较小的文件。我如何使用ApacheSpark实现这一点

我能够加载这些文件、应用转换并在数据集中创建记录子集。我能够在驱动程序sysout中执行df.show来查看这些。但我找不到一种方法将这些写入文件

我想要的只是文件中df.show的输出。Spark已经将结果聚合到驱动程序以显示此数据。为什么没有办法将这些写入文件呢

我看到有人问过类似的问题。但是没有看到任何明确的答案。 coalesce1不适合我,因为它太大,无法保存在单个分区内存中

如果不可能写入文件,那么我还必须在数据库之类的地方获取此数据集,还有什么其他选项?我尝试了S3,但它需要很长时间,并生成大量文件。

只需限制数据:

df: DataFrame

df.limit(10).write.format(...).save(...)

这将分布在所有工作节点上。而且我的df已经足够小了。所以不需要限制。