SparkM中的SpecificMutableRow有哪些优点?

时间:2014-11-19 09:25:00

标签: scala jvm apache-spark apache-spark-sql

从评论看来:

更改值时重用的可变容器对象的父类,  导致更少的垃圾。

一种行类型,用于保存所选类型为MutableValue的数组专用容器对象  基于每列的dataTypes。目的是在修改时减少垃圾  原始列的值。

来源 - https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SpecificMutableRow.scala

任何人都可以解释它是如何有效的吗?只是它避免拳击足够吗?

1 个答案:

答案 0 :(得分:2)

它避免了存储中的装箱,但是当与另一个特定界面(即镶木地板读取器或代码生成的表达式评估)结合使用时,这是非常有用的。

另一个优点是它被重用(与通用行不同)。因此,对于许多操作,它可以在不分配任何对象的情况下对一系列数据进行操作。