【问题标题】: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")
但应该首选第一种方法。