在if子句之外无法访问数据帧。如何访问if/else块外部的数据帧
需求:DataSource id SQL Server和从结构化数据准备JSON场景:基于区域值将填充数据,并将其放入主数据帧中。尝试访问if/else子句之外的数据帧时出现问题。下面是我尝试过的代码示例:
if(region == "UK") {
val dfUK = "select * from tablename"
}
dfuk.withColumnRenamed("ColumnName1","ColumnName2")
**Error: dfuk is unreachable**
分辨率:
- 导入库-导入org.apache.spark.sql.DataFrame
- 创建空白数据帧:
var outputdf: DataFrame = _
if(region == "UK")
{
val dfUK = "select * from tablename"
outputdf = dfUK
}
outputdf.withColumnRenamed("ColumnName1","ColumnName2")
将其定义为表达式
val dfUK = if(region == "UK") {
spark.sql("select * from tablename")
} //else something other definition for the df
dfUK.withColumn...