如this article,Explode is slow in scala 2.11.8 and spark 2.0.2中所述。如果不使用更高版本的火花,则对其进行改进的替代方法也很慢。由于此问题已在更高版本的spark中修复,因此一种方法是复制已修复的源代码。在寻找源代码时,I found a reference to explode in functions, but, I do not know how to track the function further。如何在新的spark源代码中找到可用于Explode的源代码-因此,我可以使用它代替当前版本的explode?
答案 0 :(得分:1)
看到爆炸功能只有import org.apache._
后,我可以通过在https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/functions.scala内展开所有def explode(e: Column): Column = withExpr { Explode(e.expr) }
导入来找到它
如果您想导入基础的Explode函数,我相信直接导入将是import org.apache.spark.sql.catalyst.expressions.Explode