我有一个大小为200的数组A
。[i] = 1,000,000,000意味着我需要写入10亿个值为i
的文件。例如,A = [2,3,1,...],输出文件应该是这样的
0
0
1
1
1
2
2
...
鉴于此类数组A,如何使用Spark输出到文件(part-r-00000
,part-r-00001
,part-r-00002
等)。我正在使用带有Scala的Spark 2.0.1。
谢谢!
答案 0 :(得分:0)
我可能会使用自动 saveAsTextFile()方法来解决这个问题,该方法默认执行您想要的操作,拆分为不同的文件,每个RDD一个文件。
文件的最大大小取决于所使用的文件系统,因此虽然不是100%,但我怀疑是否有自动方式。
根据该示例中的代码,如果您可以从系统调用中获取该信息,我将根据条目数和您对文件系统的了解,在调用 .repartition()之前计算NUM_PARTITIONS ,或者您希望默认为某些值。