[c3f36c25-2546-48b2-bd72-1b5e5dcae2ab, 1620247529, 6032, Amoma, 17256, false, Tui.com, 17149, false]
c3f36c25-2546-48b2-bd72-1b5e5dcae2a- userid
1620247529- timestamp
6032-parkid
Amoma-parkname
17256-cost
false -dinner
这里..。公园id是包含amoma的maptype,水银amoma是包含费用和餐饮的数组类型。我需要为此编写模式
发布于 2020-06-05 15:51:06
尝试下面的模式&如果不起作用,则添加更多示例数据。
scala> case class Advertise(eurocents: Int,breakfast: Boolean)
defined class Advertise
scala> case class Advertisers(advertisers:Map[String,Seq[Advertise]])
defined class Advertisers
scala> case class Record(userId: String,unix_time: String,parkid:Map[String,Advertisers])
defined class Record
scala> val schema = Encoders.product[Record].schema
schema: org.apache.spark.sql.types.StructType = StructType(StructField(userId,StringType,true), StructField(unix_time,StringType,true), StructField(parkid,MapType(StringType,StructType(StructField(advertisers,MapType(StringType,ArrayType(StructType(StructField(eurocents,IntegerType,false), StructField(breakfast,BooleanType,false)),true),true),true)),true),true))
https://stackoverflow.com/questions/62198520
复制相似问题