从一个数据库表到另一个数据库表的AWS Glue Job



我正在尝试创建一个非常基本的胶水工作。

我有两个不同的AWS RDS Mariadb的,有两个相似的表(字段名不同)。

我想从表A转换数据,使其适合表B模式(这似乎相当琐碎,正在工作)。

然后我想更新所有现有的条目(在一个特定的键上)并插入所有不存在的条目。

我使用了基本的转换作业,如果表b为空并且插入工作正常(AWS角色/权限/端口正常)

但是我得到了一个预期的重复键错误,因为它只是试图插入。

我不确定最简单的解决方案是什么,也不知道在哪里可以读到。

表B应该更新的键是central_requisition_id(这是表A中的pk,而不是表B中的pk)

schemaapplymapping= ApplyMapping.apply(
frame=some_frame,
mappings=[
("supplier_id", "int", "central_parent_supplier_id", "int"),
("description", "string", "description", "string"),
("id", "int", "central_requisition_id", "int"),
],
transformation_ctx="schemaapplymapping",)

我不确定您的具体需求,但您可以通过将写入模式设置为overwrite来解决重复键错误

df.write.format('jdbc').options(url = dest_jdbc_url, 
user = username,
password = password,
dbtable = dest ).mode("overwrite").save()

相关内容

  • 没有找到相关文章

最新更新