gpt4 book ai didi

scala - 将 Case Class 中的 Map 类型转换为 StructField 类型

转载 作者:行者123 更新时间:2023-12-02 20:02:21 27 4
gpt4 key购买 nike

我有一个案例类,我想将其转换为 Spark 中的架构

case class test(request1:Map[String, Any],response1:Option[String] = None,)

如何将此类转换为架构对象

val mySchema = StructType(
StructField("request1", Map[String, Any], false),StructField(" response1", Option[String],true))

map 和选项在数据类型中不可用

最佳答案

无法使用此案例类创建 DataFrame 架构。而 Spark 通过 MapType 支持 map 和 Options 使用包装类型进行处理,并将 Nones 转换为 NULLs,不支持 Any 类型的架构。

假设您将 Value 类型更改为 String:

case class Test(request1: Map[String, String], response1: Option[String] = None)

相应的架构应如下所示:

StructType(Seq(
StructField("request1", MapType(StringType, StringType, true), true),
StructField("response1", StringType, true)
))

关于scala - 将 Case Class 中的 Map 类型转换为 StructField 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34629493/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com