如何将pyspark数据帧拆分为具有相等记录数的多个数据帧

时间:2019-12-22 13:46:40

标签: pyspark

我有一个pyspark数据框,我想将其洒入具有相等记录的多个数据框中。我正在AWS EMR上执行此任务,并且不支持pandas或numpy。

1 个答案:

答案 0 :(得分:0)

此代码将创建df_parts,这是k个大小相等的数据帧的列表,假设k将df行计数除以

import pyspark.sql.functions as F

df = df.withColumn('ID', F.monotonically_increasing_id())
df_parts = [df.where((F.col('ID') - F.lit(k) * F.floor(F.col('ID') / F.lit(k)) == F.lit(i)) for i in range(k)]