如何使用大小写和匹配来定义DataFrame?

时间:2018-10-15 15:32:30

标签: scala apache-spark apache-spark-sql

我想以两种可能的方式之一创建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"

问题是dfcase语句之外不可见。正确的处理方法是什么?

1 个答案:

答案 0 :(得分:2)

只需对语法进行一些小的更改,就应该像这样得到它。

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

祝你好运:-)