【发布时间】:2020-11-13 15:49:11
【问题描述】:
def parse_values(value: String) = {
val values = value.split(",").map(_.trim)
values.foldLeft(Array[(Int, Double)]()) {
case (acc, present) =>
val Array(k, v) = present.split(",")(0).split(":")
acc :+ (k.trim.toInt, v.trim.toDouble)
}
我目前正在使用上述 UDF 将一列字符串解析为键和值数组。 "50:63.25,100:58.38" 到 [[50,63.2], [100,58.38]]。 在某些情况下,字符串是“\N”,我无法解析列值。 如果字符串是 "\N" 那么我应该返回一个空数组。谁能帮我处理这个异常或帮我添加一个新案例?我是 spark-scala 的新手。
错误:scala.MatchError: [Ljava.lang.String;@497cb6a9(属于 [Ljava.lang.String; 类)
【问题讨论】:
标签: scala apache-spark exception apache-spark-sql user-defined-functions