【问题标题】:How to set the type of array with dataset in spark scala如何在 spark scala 中使用数据集设置数组的类型
【发布时间】:2018-03-28 02:37:12
【问题描述】:

我有这样的源数据:

{A:123,B:"Hello world",C:[{D:123,E:"Spark"}]}

我有一个对象:

case class TestClass (A:Int;B:String;C:???)
val obj:Dataset[TestClass] = df.as[TestClass]

我应该如何定义C的类型?

【问题讨论】:

    标签: scala apache-spark dataset


    【解决方案1】:

    一个选项

    case class Nested(D: Long, E: String)
    case class TestClass (A: Long, B:String, C: Seq[Nested])
    

    用法:

    spark.read.json(sc.parallelize(
      Seq("""{"A": 123, "B": "Hello world", "C": [{"D": 123, "E": "Spark"}]}"""
    ))).as[TestClass].show
    
    +---+-----------+-------------+
    |  A|          B|            C|
    +---+-----------+-------------+
    |123|Hello world|[[123,Spark]]|
    +---+-----------+-------------+
    

    【讨论】:

      猜你喜欢
      • 2020-09-23
      • 2017-08-04
      • 1970-01-01
      • 2017-03-29
      • 2019-11-01
      • 2019-07-05
      • 2021-08-17
      • 2021-12-30
      • 1970-01-01
      相关资源
      最近更新 更多