在pyspark中对输入文件进行分区的最有效方法是什么?

2024-05-20 19:53:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用PySpark读取一个输入文件,我想知道什么是对输入数据进行重新分区的最佳方法,以便它可以均匀地分布在Mesos集群中。在

目前,我正在做:

rdd = sc.textFile('filename').repartition(10)

我在看sparkContextdocumentation,我注意到textFile方法有一个名为minPartitions的选项,默认设置为None。在

我想知道如果我在那里指定我的分区值是否会更有效。例如:

^{pr2}$

我假设/希望它能在数据被读入后消除对shuffle的需要,如果我一开始就分块读入文件。在

我听得对吗?如果没有,这两种方法(如果有的话)有什么区别?在


Tags: 文件数据方法选项集群filenamepysparkmesos
1条回答
网友
1楼 · 发布于 2024-05-20 19:53:37

这些方法有两个主要区别:

一般来说,如果使用textFile加载数据,则不需要进一步对其重新分区以获得大致均匀的分布。由于输入拆分是基于数据量来计算的,所以所有分区的大小都应该差不多相同。因此,进一步修改分区数量的唯一原因是提高内存或CPU内核等资源的利用率。在

相关问题 更多 >