Spark的Row和InternalRow类型之间的区别

12

目前,Spark有两种实现Row的方式:

import org.apache.spark.sql.Row
import org.apache.spark.sql.catalyst.InternalRow

为什么需要同时拥有它们?它们代表相同的编码实体,但一个用于内部API,另一个用于外部API吗?

1个回答

0

Row 是(嗯...)Row的稳定版本实现...然而,InternalRow 顾名思义,是在Spark SQL内部使用的。我引用下面的InternalRow文档:

/**
 * An abstract class for row used internally in Spark SQL, which only contains the columns as
 * internal types.
 */
abstract class InternalRow extends SpecializedGetters with Serializable {

1
不完全正确 - Row 是用户 API 的抽象,而不是实现。除此之外你是正确的。 - shay__

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接