我的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)
hc8w905p1#
这会影响性能,如果您真的需要一个文件中的一行,您应该考虑检查逻辑。不过,如果你想这样做,你可以尝试这个不太确定你能得到多少性能增益
win = window.orderBy('anyColumn') df2=df.withColumn('row',f.row_number().over(win)) df2.write.partitionBy('row').parquet('path')
但一点也不推荐。
1条答案
按热度按时间hc8w905p1#
这会影响性能,如果您真的需要一个文件中的一行,您应该考虑检查逻辑。
不过,如果你想这样做,你可以尝试这个不太确定你能得到多少性能增益
但一点也不推荐。