我正在使用 Glue 读取 DynamoDB 表,由于动态模式,可能会发生某些列不存在的情况。使用以下代码添加它们可以正常工作,但如果我需要添加多个列,我不确定如何使函数动态化。
# add missing columns if not available
def AddCustRegName(r):
r["customerRegistrationName"] = "" # add column with empty string.
return r
if addCustRegName:
case_df_final = Map.apply(frame=case_df_final, f=AddCustRegName)
有什么建议么?
以下代码因以下错误而失败
# add missing columns if not available
def AddColumn(r, col):
r[col] = "" # add column with empty string.
return r
case_df_final = Map.apply(frame=case_df_final, f=AddColumn(case_df_final ,'accessoryTaxIncluded'))
case_df_final.toDF().printSchema()
无法执行第 6 行:case_df_final = Map.apply(frame=case_df_final, f=AddColumn(case_df_final ,'accessoryTaxIncluded')) Traceback(最近一次调用最后):文件“/tmp/zeppelin_pyspark-4928209310219195923.py”,第 375 行,在 exec(code, _zcUserQueryNameSpace) File "", line 6, in File "", line 3, in AddColumn TypeError: 'DynamicFrame' object does not support item assignment