我从AWS Glue Map运算符中看到了一些非常奇怪的行为。首先,看起来您必须返回DynamicRecord,并且似乎没有创建新DyanmicRecord的方法。 AWS Glue Map文档中的示例将编辑传入的DynamicRecord。但是,当我编辑在架构中传入的DynamicRecord时,其名称仅为root
,并且通过Spigot输出的结果数据集是传递到Map的原始数据集。
有人让Map操作员工作吗?如果可以,您可以提供一个摘要。
答案 0 :(得分:1)
尝试通过DynamicDataframe
将.toDF()
转换为Spark数据帧
答案 1 :(得分:0)
您要返回更新的记录吗?
def MergeAddress(rec):
rec["Address"] = {}
rec["Address"]["Street"] = rec["Provider Street Address"]
rec["Address"]["City"] = rec["Provider City"]
rec["Address"]["State"] = rec["Provider State"]
rec["Address"]["Zip.Code"] = rec["Provider Zip Code"]
rec["Address"]["Array"] = [rec["Provider Street Address"], rec["Provider City"], rec["Provider State"], rec["Provider Zip Code"]]
del rec["Provider Street Address"]
del rec["Provider City"]
del rec["Provider State"]
del rec["Provider Zip Code"]
return rec
mapped_dyF = Map.apply(frame = dyF, f = MergeAddress)
mapped_dyF.printSchema()
https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-transforms-map.html