我想优化用于将集合并行化为RDD的分区数。理想情况下,我会使用以下代码行来完成此操作:
val numPartitions = numSlaveNodes * numExecutorsPerNode * numCoresPerExecutor
val myRDD = sparkContext.parallelize(myCollection, numPartitions)
到目前为止,我只能弄清楚如何获得numCoresPerExecutor,我这样做:
sparkSession.conf.get("spark.executor.cores").toInt
是否可以以编程方式获取其他两个值(numSlaveNodes和numExecutorsPerNode)?我已经知道如何获得每个执行器的核心数。