【问题标题】:Spark convert list to dataframe error: Schema for type Any is not supportedSpark 将列表转换为数据框错误:不支持 Any 类型的架构
【发布时间】:2019-01-11 21:28:39
【问题描述】:

我正在尝试通过执行以下操作来创建数据框:

val df = Seq(
    ("tom", 25),
    ("andy", null)
).toDF("user", "rating")

但我收到“不支持任何类型的架构”的错误。 我认为评分栏是造成问题的原因。

我希望评分栏是

integer (nullable=true)

但我不确定如何实现这一目标

【问题讨论】:

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


    【解决方案1】:

    你可以使用Option:

    Seq(
      ("tom", Some(25)),
      ("andy", None)
    ).toDF("user", "rating")
    

    您也可以更具体地了解类型并使用java.lang.Integer:

    Seq[(String, java.lang.Integer)](
      ("tom", 25),
      ("andy", null)
    ).toDF("user", "rating")
    

    但应该首选第一种方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-26
      • 2021-05-12
      • 2017-06-26
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      • 2018-07-18
      • 1970-01-01
      相关资源
      最近更新 更多