1

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')) トレースバック (最新の呼び出しが最後): ファイル "/tmp/zeppelin_pyspark-4928209310219195923.py", 行 375, exec(code, _zcUserQueryNameSpace) ファイル "" の 6 行目、ファイル "" の 3 行目、AddColumn の TypeError: 'DynamicFrame' オブジェクトは項目の割り当てをサポートしていません

4

1 に答える 1