如何使用大小写和匹配来定义数据帧?



我想通过以下两种可能的方式之一创建Spark DataFramedf

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。正确的处理方法是什么?

只是一些小的语法更改,你应该像这样得到它。

val df = dataSourceType match {
case "option1" => gu.retrieveFromElastic(spark, source_field)
case "option2" => gu.retrieveFromCSV(spark, source_field)
}

祝你好运:-(

最新更新