gpt4 book ai didi

scala - 如何使用自定义键值名称将映射列转换为结构类型?

转载 作者:行者123 更新时间:2023-12-03 00:13:59 25 4
gpt4 key购买 nike

我有一个 UDF,它使用 Scala 内置 toArray 函数将 Map(在本例中为 String -> String)转换为 Struct 数组

val toArray = udf((vs: Map[String, String]) => vs.toArray)

结构体的字段名称为 _1_2

如何更改 UDF 定义,使字段(键)名称为“key”,值名称为“value”作为 UDF 定义的一部分?

[{"_1":"aKey","_2":"aValue"}] 

[{"key":"aKey","value":"aValue"}]

最佳答案

您可以使用一个类:

case class KV(key:String, value: String)

val toArray = udf((vs: Map[String, String]) => vs.map {
case (k, v) => KV(k, v)
}.toArray )

关于scala - 如何使用自定义键值名称将映射列转换为结构类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44312503/

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