【问题标题】:How to convert an Array of Array containing Integer to a Scala Spark List/Seq?如何将包含整数的数组转换为 Scala Spark 列表/序列?
【发布时间】:2021-07-19 17:32:50
【问题描述】:

我是 Scala 火花的新手。我有一串类似数组的"[[1,2,100], [1, 2, 111]]" 我不知道如何在Scala List 或Sequence 中转换它。我找不到解决办法。

我尝试使用 circe parse 方法,但它没有帮助我。

val e = parse(json_string).getOrElse(Json.Null)

e.asArray.foreach(l => {
  println(l)
})

【问题讨论】:

    标签: scala apache-spark


    【解决方案1】:
    val r = "\\[(:?\\d+,? *)+\\]".r
    r.findAllMatchIn(s).map { m => 
      val s = m.toString
      s.substring(1, s.length - 1).split(", *").map(_.toInt) 
    }.toArray
    

    对于您的示例,它产生: res26: Array[Array[Int]] = Array(Array(1, 2, 100), Array(1, 2, 111))

    不确定提取结果后要如何处理

    【讨论】:

    • 成功了!我将在 spark UDF 中使用它并应用一些检查来返回值。
    猜你喜欢
    • 2022-09-23
    • 2020-02-09
    • 2020-08-05
    • 1970-01-01
    • 2017-06-11
    • 2021-08-17
    • 2019-05-23
    • 2013-03-09
    • 2022-10-14
    相关资源
    最近更新 更多