AWS Glue 将字符串值从 postgres 转换为 json 数组
Posted
技术标签:
【中文标题】AWS Glue 将字符串值从 postgres 转换为 json 数组【英文标题】:AWS Glue transform string value from postgres to json array 【发布时间】:2021-07-13 11:11:34 【问题描述】:我是 AWS Glue 和 pyspark 的新手。我在 RDS 中有一个表,其中包含一个 varchar 字段id
。 我想将id
映射到输出 json 中的字符串字段,该字段位于 json 数组字段中(比如说newId
):
“来源”:[ “newId”:“1234asdf” ]
如何使用 AWS Glue 作业的 pyspark 脚本中定义的转换来实现这一点。
【问题讨论】:
那么对于表中的每一行,您要创建一个键值对“newId”:“some_value”,其中some_value 是该行的“id”列中的值?您是否打算为每行创建的对象添加更多字段?有什么理由不让集合成为根,而不是将集合放在“源”集合对象下? 【参考方案1】:使用 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"]
中的操作删除原始字段,否则逻辑不起作用。
【讨论】:
以上是关于AWS Glue 将字符串值从 postgres 转换为 json 数组的主要内容,如果未能解决你的问题,请参考以下文章