【发布时间】:2017-04-15 16:10:30
【问题描述】:
我有一个大约 458MM 行的 spark 数据框。它最初是一个 RDD,所以我使用 sqlcontext.createDataFrame 转换为 spark 数据帧
RDD前几行如下:
sorted_rdd.take(5)
Out[25]:
[(353, 21, u'DLR_Where Dreams Come True Town Hall', 0, 0.896152913570404),
(353, 2, u'DLR_Leading at a Higher Level', 1, 0.7186800241470337),
(353,
220,
u'DLR_The Year of a Million Dreams Leadership Update',
0,
0.687175452709198),
(353, 1, u'DLR_Challenging Conversations', 1, 0.6632049083709717),
(353,
0,
u'DLR_10 Keys to Inspiring, Engaging, and Energizing Your People',
1,
0.647541344165802)]
我将其保存到数据框中,如下所示
sorted_df=sqlContext.createDataFrame(sorted_rdd,['user','itemId','itemName','Original','prediction'])
最后保存如下:
sorted_df.write.parquet("predictions_df.parquet")
我正在使用带有 Yarn 的 Spark,它有 50 个 10g 的执行器和 5 个内核。写入命令持续运行一个小时,但文件仍未保存。
是什么让它这么慢?
【问题讨论】:
标签: python apache-spark pyspark