【问题标题】:Differences between Spark's Row and InternalRow typesSpark 的 Row 和 InternalRow 类型的区别
【发布时间】:2023-04-07 07:47:02
【问题描述】:

目前 Spark 有两种 Row 实现:

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

两者都有什么需要?它们是否代表相同的编码实体,但一个在内部使用(内部 API),另一个与外部 API 一起使用?

【问题讨论】:

    标签: apache-spark spark-dataframe apache-spark-dataset


    【解决方案1】:

    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 {
    

    【讨论】:

    • 不完全——Row 是用户 API 的抽象,而不是实现。除此之外,您是正确的。
    猜你喜欢
    • 2020-08-11
    • 2021-09-02
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多