我在数据帧df:
上使用带有spec的多个窗口函数windowSpec = \
Window
.partitionBy(df['customID'])
后来我使用:
df.rdd.map((x[0],x[0], x[1], x[2]))
and df.mapPartitions(some func)
创建我的数据帧的kv对并处理RDD上的分区。由于
x[0] = df.['customID']
在我的情况下,我想知道我如何工作/保持窗口规范已经使用的分区。在使用数据帧之后,这是处理RDD分区的最有效方法吗?
答案 0 :(得分:0)
将DataFrame
转换为RDD
并不需要随机播放,因此两个对象的分区内容都相同。但是,Partitioner
不会被保留。
对于您的用例,这应该还是足够的,尽管vectroized udf可能是比RDD
更好的选择。