我正在开发一个Spark应用程序,它基本上通过从我创建的几个包中调用许多方法来处理DataFrame。但是,我觉得它工作得很慢(我提供了40 GB的RAM,而且我用于测试的DataFrame中只有4000行数据,而且需要几个小时才能完成)。
我怀疑这可能是因为按值调用每个方法。
def any_method(data: org.apache.spark.sql.DataFrame) // a call-by-value definition
这可能是缓慢问题的根源吗?
从不同的包和方法访问变量的正确做法是什么?