有没有办法在PySpark中读取文本文件时控制分区数

Lon*_*guy 3 python apache-spark rdd pyspark

我在PySpark中使用以下命令读取文本文件

rating_data_raw = sc.textFile("/<path_to_csv_file>.csv")
Run Code Online (Sandbox Code Playgroud)

有没有办法指定RDD rating_data_raw应分成的分区数?我想指定大量的分区以实现更高的并发性.

Alb*_*nto 5

正如其他用户所说,您可以在读取文件时设置将创建的最小分区数,方法是在textFile的可选参数中minPartitions进行设置.

rating_data_raw = sc.textFile("/<path_to_csv_file>.csv", minPartitions=128)
Run Code Online (Sandbox Code Playgroud)

实现此目的的另一种方法是使用重新分区合并,如果您需要减少可能使用的分区数coalesce,否则您可以使用repartition.

rating_data_raw = sc.textFile("/<path_to_csv_file>.csv").repartition(128)
Run Code Online (Sandbox Code Playgroud)