我需要在 Glue 上的两个动态帧之间进行合并。我尝试使用 mergeDynamicFrame 函数,但我不断收到相同的错误:
AnalysisException:“无法解析' id
'给定输入列:[];;\n'Project ['id]\n+- LogicalRDD false\n”
现在,我有 2 个 DF:df_1(id,col1,salary_src)和 df_2(id,name,salary)
我想通过“id”列将 df_2 合并到 df_1 中。
df_1 = glueContext.create_dynamic_frame.from_catalog(......)
df_2 = glueContext.create_dynamic_frame.from_catalog(....)
merged_frame = df_1.mergeDynamicFrame(df_2, ["id"])
applymapping1 = ApplyMapping.apply(frame = merged_frame, mappings = [("id", "long", "id", "long"), ("col1", "string", "name", "string"), ("salary_src", "long", "salary", "long")], transformation_ctx = "applymapping1")
datasink2 = glueContext.write_dynamic_frame.from_options(....)
作为测试,我尝试从两个 DF(salary 和salary_src)中传递一列,并且错误为:
AnalysisException:“无法解析' salary_src
'给定输入列:[id,name,salary];\n'Project [salary#2,'salary_src]\n+- LogicalRDD [id#0,name#1,salary#2],假\n"
在这种情况下,它似乎可以识别 df_2 中的列(id、name、salary).. 但是如果我只通过其中一列,甚至是第三列,它就会一直失败