Spark scala-在Json对象中更新/添加新列,并使用新的数据帧值进行更新

Spark scala-在Json对象中更新/添加新列,并使用新的数据帧值进行更新,json,scala,apache-spark,dataframe,struct,Json,Scala,Apache Spark,Dataframe,Struct,我想用另一个json对象的内容更新现有json对象中的对象数组 初始对象: { "user": "gT35Hhhre9m", "date": "2016-01-29", "status": "OK", "reason": "some reason", "content": [ { "foo": 123, "bar": "val1" } ] } 补充目标: {

我想用另一个
json
对象的内容更新现有
json
对象中的对象数组

初始对象:

{
    "user": "gT35Hhhre9m",
    "date": "2016-01-29",
    "status": "OK",
    "reason": "some reason",
    "content": [
        {
            "foo": 123,
            "bar": "val1"
        }
    ]
}
补充目标:

{
    "id": "gT35Hhhre9m"
}
合并后对象结构:

{
    "user": "gT35Hhhre9m",
    "date": "2016-01-29",
    "status": "OK",
    "reason": "some reason",
    "content": [{
        "foo": 123,
        "bar": "val1"
        "id": "gT35Hhhre9m"
    }]
}
  • 展平“初始对象”并将Spark数据帧视为柱状 类似于SQL表的数据
  • 完全变换
  • 将Spark数据帧转换回JSON

  • 不将dataframe视为JSON是一个诀窍。

    您可以通过连接和一些操作来实现这一点,但我们必须看看您迄今为止所做的尝试。修复了措辞和格式