Apache spark Pypark在所有执行器上均匀分配负载

Apache spark Pypark在所有执行器上均匀分配负载,apache-spark,pyspark,cloudera,hortonworks-data-platform,mapr,Apache Spark,Pyspark,Cloudera,Hortonworks Data Platform,Mapr,我有一个5节点的集群,我正在使用pyspark将一个100k的csv文件加载到一个数据帧中,执行一些etl操作,并将输出写入拼花地板文件。 当我加载数据帧时,如何在每个执行器处理20k条记录的所有执行器操作系统上统一划分数据集。如果可能,请确保将输入数据拆分为较小的文件。 这样,每个执行器将读取和处理单个文件 在无法修改输入文件的情况下,可以调用df.repartition5,但请记住,这将导致代价高昂的洗牌操作您可以使用repartition5。正如您所说,添加重新分区需要更长的时间。我在想,

我有一个5节点的集群,我正在使用pyspark将一个100k的csv文件加载到一个数据帧中,执行一些etl操作,并将输出写入拼花地板文件。
当我加载数据帧时,如何在每个执行器处理20k条记录的所有执行器操作系统上统一划分数据集。

如果可能,请确保将输入数据拆分为较小的文件。 这样,每个执行器将读取和处理单个文件


在无法修改输入文件的情况下,可以调用df.repartition5,但请记住,这将导致代价高昂的洗牌操作

您可以使用repartition5。正如您所说,添加重新分区需要更长的时间。我在想,如果数据均匀分布在所有5个节点上,进程将更快完成。df=sqlContext.read.format'com.databricks.spark.csv'。最好试试看什么最适合你的工作量