我有一个数组 A 尺寸200。a[i]=1000000000意味着我需要向文件写入10亿个有价值的条目 i . 例如,a=[2,3,1,…],输出文件应该是这样的
A
i
0 0 1 1 1 2 2 ...
给定这样的数组,如何输出到文件( part-r-00000 , part-r-00001 , part-r-00002 等)使用Spark。我在scala中使用spark 2.0.1。谢谢您!
part-r-00000
part-r-00001
part-r-00002
7ajki6be1#
我可能会使用automatic saveastextfile()方法来实现这一点,该方法在默认情况下执行您想要的操作,将文件拆分为不同的文件,每个rdd一个文件。将rdd保存到文件文件的最大大小取决于所使用的文件系统,所以尽管不是100%,但我怀疑是否有一种自动的方法来实现这一点。根据该示例中的代码,如果您可以从系统调用中获得该信息,或者希望默认为某些值,那么我将在调用.repartition()之前根据条目数和您对文件系统的了解来计算num\u partitions。
1条答案
按热度按时间7ajki6be1#
我可能会使用automatic saveastextfile()方法来实现这一点,该方法在默认情况下执行您想要的操作,将文件拆分为不同的文件,每个rdd一个文件。
将rdd保存到文件
文件的最大大小取决于所使用的文件系统,所以尽管不是100%,但我怀疑是否有一种自动的方法来实现这一点。
根据该示例中的代码,如果您可以从系统调用中获得该信息,或者希望默认为某些值,那么我将在调用.repartition()之前根据条目数和您对文件系统的了解来计算num\u partitions。