python—如何优化将sparkDataframe的每一行作为单独的文件写入

kdfy810k  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(348)

我的Dataframe有大约一百万条记录。下面是我用来将sparkDataframe的每一行写入一个单独文件的代码。但要花几个小时才能完成。任何调整这个的建议都会很有帮助。

row_count = df.count()
row_count = 10,000,00
df1 = df.repartition(row_count)
df1.rdd.map(lambda row:row[0]).saveAsTextFile(targetfolder)
hc8w905p

hc8w905p1#

这会影响性能,如果您真的需要一个文件中的一行,您应该考虑检查逻辑。
不过,如果你想这样做,你可以尝试这个不太确定你能得到多少性能增益

win = window.orderBy('anyColumn')
df2=df.withColumn('row',f.row_number().over(win))
df2.write.partitionBy('row').parquet('path')

但一点也不推荐。

相关问题