我正在使用Spark运行reduceByKey。我的程序是Spark最简单的示例:
val counts = textFile.flatMap(line => line.split(" ")).repartition(20000).
.map(word => (word, 1))
.reduceByKey(_ + _, 10000)
counts.saveAsTextFile("hdfs://...")
但它总是会耗尽内存...
我正在使用50台服务器,每台服务器有35个执行器,每台服务器有140GB的内存。
文档的数量如下: 8TB的文档,200亿个文档,总共1000亿个字。 在减少后,大约将有1亿个单词。
我想知道如何设置spark的配置?
我想知道这些参数应该设置为什么值?
1. the number of the maps ? 20000 for example?
2. the number of the reduces ? 10000 for example?
3. others parameters?