json - 我如何修复 json 结构以帮助 spark 正确读取它。相同键的不同类型
问题描述
我正在接收 json。我不知道会出现哪个键问题。当 spark 看到相同键的不同类型时,它会将其放入字符串中,我需要有数组类型的数据。我正在使用带有 json lib 的 spark 2.4,所以我将 jsons 读为
spark.read.json("jsonfile")
我正在将我的 json 模式展平为 col 名称为的这种格式:
B__C
B__somedifferentColname
示例 json 看起来像这样
{
"A":[
{
"B":{
"C":"Hello There"
}
},
{
"B":[
{
"C":"Hello"
},
{
"C":"Hi"
}
]
}
]
}
我希望这个 json 格式如下:
{
"A":[
{
"B":[{
"C":"Hello There"
}]
},
{
"B":[
{
"C":"Hello"
},
{
"C":"Hi"
}
]
}
]
}
如您所见,我所做的更改是将方括号添加到第一个对象。
但是当我有一个值作为结构类型和一个值作为列表时,它会将其放入字符串中,因此列值将如下所示:
"[{"C":"Hello"},{"C":"Hi"}]"
它应该看起来像
B__C
Hello
Hi
Hello There
有谁可以帮助我解决这个问题的技巧?向我们提供 json 的团队表示,从他们这边不可能做到这一点,所以我们必须在我们这边解决这个问题。
解决方案
推荐阅读
- python - python - 如何根据复选框在python中是否选中使单选按钮处于活动状态
- javascript - 测试用例被调用两次导致:未捕获的错误:读取 ECONNRESET 和错误:多次调用 done()
- azure - Azure Dev Ops 多阶段 YAML 管道 - 使用前一阶段状态作为变量
- javascript - 使用javascript根据条件将数组拆分为两个
- sql - 分组时Oracle SQL对分区求和
- paypal - 使用 IFrame Tokenizer 的 PayPal Payflow Pro 集成
- angular - 如何在 MatTableDataSource html 中显示数组值
- javascript - Metronic HTML 模板
- sql - 使用 sql 语句从第二个 datagridview 填充 DataGridView
- python - 艾伦·唐尼 (Allen Downey) 的《Think Python》一书的 Ex-4.1 第 2 部分