Pyspark-window.PartitionBy()-分区数

Pyspark-window.PartitionBy()-分区数,pyspark,partitioning,Pyspark,Partitioning,我正在使用PySpark v1.6.2,我的代码如下: df=sqlContext.sql'SELECT*FROM' df.rdd.numPartitions 2496 df=df.withColumns'count',lit1到目前为止,它仍然有2496个分区 df=df.repartition2496,'trip_id'。sortWithinPartitions'trip_id','time' 问题就从这里开始 sequenceWS=Window.partitionBy'trip\u id'

我正在使用PySpark v1.6.2,我的代码如下:

df=sqlContext.sql'SELECT*FROM' df.rdd.numPartitions 2496 df=df.withColumns'count',lit1到目前为止,它仍然有2496个分区 df=df.repartition2496,'trip_id'。sortWithinPartitions'trip_id','time' 问题就从这里开始 sequenceWS=Window.partitionBy'trip\u id'。orderBy'trip\u id',定义窗口的'time' df=df.带列'delta_time',df['time']-mindf['time'].oversequenceWS.rowsBetween-1,0 完成窗口功能 df.rdd.numPartitions 200 我的问题是:

在使用函数Window.partitionBy*cols时,有没有办法告诉pyspark应该创建多少个分区


或者,有没有一种方法可以影响PySpark,使其在数据帧上应用window函数之前保持相同的分区数?

这是一种黑客行为,并不完全按照您的要求执行,但是spark.sql.shuffle.partitions全局控制默认的分区数,因此,它可以将200更改为您想要的任何值,但它也会影响您工作中的所有其他200