我想以两种可能的方式之一创建Spark DataFrame df
:
val dataSourceType = "option1"
dataSourceType.map{
case "option1" => {
val df = gu
.retrieveFromElastic(spark, source_field)
}
case "option1" => {
val df = gu
.retrieveFromCSV(spark, source_field)
}
}
// some operations on "df"
问题是df
在case
语句之外不可见。正确的处理方法是什么?
答案 0 :(得分:2)
只需对语法进行一些小的更改,就应该像这样得到它。
val df = dataSourceType match {
case "option1" => gu.retrieveFromElastic(spark, source_field)
case "option2" => gu.retrieveFromCSV(spark, source_field)
}
祝你好运:-)