AWS Glue 将字符串值从 postgres 转换为 json 数组

AWS Glue transform string value from postgres to json array

我是 AWS Glue 和 pyspark 的新手。我在 RDS 中有一个 table,其中包含一个 varchar 字段 id
我想将 id 映射到输出 json 中的字符串字段,它位于 json 数组字段中(比方说 newId):

{
 "sources" : [
  "newId" : "1234asdf"
 ]
}

如何使用 AWS Glue 作业的 pyspark 脚本中定义的转换来实现此目的。

使用 AWS Glue Map Transformation 将字符串字段映射到目标中 JSON 数组内的字段。

NewFrame= Map.apply(frame=OldFrame, f=map_fields)

并定义一个函数 map_fields 如下:

def map_fields(rec):
    rec["sources"] = {}
    rec["sources"] = [{"newID": rec["id"]}]
    del rec["id"]
    return rec

确保按照 del rec["uid"] 中的方式删除原始字段,否则逻辑将不起作用。