【问题标题】:Databrick SCALA: spark dataframe inside functionDatabrick SCALA:函数内部的火花数据框
【发布时间】:2020-06-03 03:41:17
【问题描述】:

我有一个 databricks scala 笔记本。我正在写以下内容

var df=(some code to create the dataframe)

if (STRING1 == "testing"){

var df2=df.withColumn("New",lit("astring"))

}

df2.show()

似乎我无法显示 df2,必须先声明 df2 ...我该怎么做?

【问题讨论】:

    标签: scala databricks


    【解决方案1】:

    问题是当你在 if 语句中声明一个变量时,作用域只在 if 块结束时才可用。

    所以你可以在 if 块中移动 df2

    var df=(some code to create the dataframe)
    
    if (STRING1 == "testing"){
    var df2=df.withColumn("New",lit("astring"))
    df2.show()
    }
    
    
    

    或者只是在 if 语句之外声明 df2

    var df=(some code to create the dataframe)
    
    var df2= if (STRING1 == "testing"){
    df.withColumn("New",lit("astring"))
    } else df
    df2.show()
    

    【讨论】:

    • 谢谢。还有其他解决方法吗?就像声明一个没有数据和列的空数据框,就像 var stringvar1: String = null
    • 你可以用spark.emptyDataFrame()做到这一点
    猜你喜欢
    • 2020-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    • 2021-10-16
    相关资源
    最近更新 更多