scala—向文件写入大量数据

dgtucam1  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(503)

我有一个数组 A 尺寸200。a[i]=1000000000意味着我需要向文件写入10亿个有价值的条目 i . 例如,a=[2,3,1,…],输出文件应该是这样的

0
0
1
1
1
2
2
...

给定这样的数组,如何输出到文件( part-r-00000 , part-r-00001 , part-r-00002 等)使用Spark。我在scala中使用spark 2.0.1。
谢谢您!

7ajki6be

7ajki6be1#

我可能会使用automatic saveastextfile()方法来实现这一点,该方法在默认情况下执行您想要的操作,将文件拆分为不同的文件,每个rdd一个文件。
将rdd保存到文件
文件的最大大小取决于所使用的文件系统,所以尽管不是100%,但我怀疑是否有一种自动的方法来实现这一点。
根据该示例中的代码,如果您可以从系统调用中获得该信息,或者希望默认为某些值,那么我将在调用.repartition()之前根据条目数和您对文件系统的了解来计算num\u partitions。

相关问题