1

所以我groupByKey在 spark 中使用函数,但它没有被并行化,因为我可以看到在它的执行过程中,只使用了 1 个内核。我正在使用的数据似乎不允许并行化。spark有没有办法知道输入数据是否适合并行化,或者它是否不是正确的RDD?

4

1 回答 1

1

Spark 中的并行化单元是“分区”。也就是说,RDD 被拆分为多个分区,并且并行地将转换应用于每个分区。RDD 数据如何跨分区分布由 Partitioner 决定。默认情况下,使用 HashPartitioner,它在大多数情况下都可以正常工作。

您可以使用以下方式检查您的 RDD 分为多少个分区:

rdd.partitions // Array of partitions
于 2014-11-08T13:47:53.360 回答