问题描述
我的嵌套结构的部分如下。有麻烦 解析嵌套结构并将其放入多行。 Scala版本是2.11和spark 2.4.4。 struct bbDemoImps下的结构键是动态的。
{"rates": {"bbDemoImps": {
"44": {
"imps": 0.0,"ue": 0.0,"demoId": "44"
},"49": {
"imps": 0.0,"demoId": "49"
},"45": {
"imps": 0.0,"demoId": "45"
},"50": {
"imps": 0.0,"demoId": "50"
}}}}
试图将结构转换为数组,以便我可以使用explode函数将其放入单独的行中。
val bbDemoImps = new StructType()
.add($"demoId".string)
.add($"imps".double)
.add($"ue".double)
val structSchema =
new StructType()
.add($"bbDemoImps".array(bbDemoImps))
val v1 = v2.select($"array_field".cast(structSchema))
但这给出了错误。 “无法转换structbbDemoImps:struct >
到structbbDemoImps:array
这是正确的方法吗?
预期输出:
weekStartDate|demoId|demos|imps|rcImps
20201130|63|0.0|0.0|0.0
20201130|62|0.0|0.0|0.0
非常感谢任何帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)