给新手点 spark。我尝试使用spark在我的 dataframe上执行一些pandas操作,但奇怪的是它比纯python慢(即在python中使用pandas包)。我是这样做的:
1)
train_df.filter(train_df.gender == '-unknown-').count()
恢复结果大约需要30秒。但是使用python大约需要1秒钟。
2) spark中:
sqlContext.sql("SELECT gender, count(*) FROM train GROUP BY gender").show()
同样,Spark需要30秒,python需要1秒。
我的Spark比纯Python慢得多的几个可能原因:
1)我的 DataSet 大约有220000条记录,24MB,这还不足以显示Spark的扩展优势。
2)我的Spark在 local运行,我应该在类似AmazonEC的环境中运行它。
3) local运行是可以的,但我的计算能力并没有降低。这是一个8 Gig RAM 2015 MacBook。
4)因为我在运行python,所以spark很慢。如果我使用scala,会更好。(con论点:我听说很多人都在使用pyspark,这很好。)
其中哪一个最有可能是原因,还是最可信的 explain?我很想听听 spark专家的意见。非常感谢!!