【发布时间】:2020-11-04 05:57:31
【问题描述】:
我是 pyspark 的新手。 我想添加一个具有多个值的新列以及具有这些值的分区。
import math
coun=df.count()
if(coun<= 20000):
chunksize=2
rowsperchunk = math.ceil(coun/2)
else:
chunksize= math.ceil(coun/20000)
rowsperchunk = 20000
for i in chunksize:
df.limit(num_rows_per_chunk).withColumn('chunk',F.lit(i))
在上面的for循环中,它只会插入1个值直到限制
示例: 我的数据框中有 100k 行,因此块大小为 5。 每个块的行数为 20 000 所以我需要添加新列,首先需要插入值为 1 的 20 000 行,然后需要插入值为 2 的接下来的 20 000 行。直到块大小结束。然后我想根据我们创建的新列进行分区
【问题讨论】:
-
您找到想要的答案了吗?
标签: python apache-spark pyspark apache-spark-sql