【发布时间】:2019-12-16 10:46:39
【问题描述】:
我得到一个逗号分隔的度量值字符串,然后使用该字符串进行 SQL 查询。
但是,当我尝试进行模式匹配时,这里有一个错误:Some(newMetrics) - option Constructor cannot be instantiated to expected type, found: Some[A], required: String
在这种情况下使用模式匹配的正确方法是什么?
val metrics: String = props.getProperty(NEW_METRICS).filter(StringUtils.isNotBlank).getOrElse("")
val metricsQuery = metrics match {
case Some(newMetrics) => s"""SELECT $newMetrics FROM ${metricsTable}"""
case _ => OLD_TABLE
}
【问题讨论】:
-
您的指标已经是一个字符串,而不是一个选项。删除
getOrElse("")或将""更改为OLD_TABLE。
标签: scala apache-spark pattern-matching