【问题标题】:AWS Glue transform string value from postgres to json arrayAWS Glue 将字符串值从 postgres 转换为 json 数组
【发布时间】: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”列中的值?您是否打算为每行创建的对象添加更多字段?有什么理由不让集合成为根,而不是将集合放在“源”集合对象下?

标签: amazon-web-services pyspark aws-glue


【解决方案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"] 中的操作删除原始字段,否则逻辑不起作用。

【讨论】:

    猜你喜欢
    • 2018-07-26
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2013-03-14
    • 1970-01-01
    相关资源
    最近更新 更多