Scala select语句对Spark数据帧的性能影响如何?

Scala select语句对Spark数据帧的性能影响如何?,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,在Spark DataFrames上使用许多select语句或表达式,我想知道一旦某个操作触发了后续转换,它们的性能会有什么影响 给定一个包含10列a到j的数据帧df 如果在每列上使用as进行列重命名,会产生怎样的影响 df.选择(df(“a”).作为(“1”),…,df(“j”).作为(“10”)) 如果我选择一个子集(例如5列),该怎么办 val df2=df.选择(df(“a”),…,df(“e”)) b。这个投影是如何产生的?df是否仍然保留(因为df2是一个投影),因此df可以作为一种

在Spark DataFrames上使用许多select语句或表达式,我想知道一旦某个操作触发了后续转换,它们的性能会有什么影响

给定一个包含10列a到j的数据帧
df

  • 如果在每列上使用
    as
    进行列重命名,会产生怎样的影响

    df.选择(df(“a”).作为(“1”),…,df(“j”).作为(“10”))

  • 如果我选择一个子集(例如5列),该怎么办

    val df2=df.选择(df(“a”),…,df(“e”))

    b。这个投影是如何产生的?
    df
    是否仍然保留(因为
    df2
    是一个投影),因此
    df
    可以作为一种参考?或者是新创建的
    df2
    df
    被丢弃?(忽略此处存在的任何问题)

  • select
    中使用的常规
    表达式的影响如何

  • 上述情况的性能测试是否可用?一般情况下,性能度量是否可用?如果没有,如何最好地衡量绩效


  • 已经有一段时间了-你有什么发现吗?